Est-il possible de sélectionner 2 colonnes en une seule et de les combiner?
Exemple:
select something + somethingElse as onlyOneColumn from someTable
Oui, comme vous l'avez fait:
select something + somethingElse as onlyOneColumn from someTable
Si vous avez interrogé la base de données, vous auriez eu la bonne réponse.
Qu'est-ce qui se passe est que vous demandez une expression. Une expression très simple est juste un nom de colonne, une expression plus compliquée peut contenir des formules, etc.
Oui,
SELECT CONCAT(field1, field2) AS WHOLENAME FROM TABLE
WHERE ...
résultera en un ensemble de données comme:
WHOLENAME
field1field2
(SELECT column1 as column FROM table )
UNION
(SELECT column2 as column FROM table )
Oui, c'est possible, à condition que les types de données soient compatibles. Sinon, utilisez un CONVERT () ou un CAST ()
SELECT firstname + ' ' + lastname AS name FROM customers
Aucune des réponses ci-dessus n'a fonctionné pour moi, mais cela a ...
SELECT CONCAT(Cust_First, ' ', Cust_Last) AS CustName FROM customer
L'opérateur +
devrait très bien faire l'affaire. Gardez toutefois à l'esprit que si l'une des colonnes est nulle ou n'a aucune valeur, cela vous donnera un résultat NULL
. Au lieu de cela, combinez +
avec la fonction COALESCE
et vous serez défini.
Voici un exemple:
SELECT COALESCE(column1,'') + COALESCE(column2,'') FROM table1.
Pour cet exemple, si column1
est NULL
, les résultats de column2
s'afficheront au lieu d'une simple NULL
.
J'espère que cela t'aides!
si l'une des colonnes est le numéro que j'ai connu, Oracle pensera '+' en tant qu'opérateur de somme à la place de la concaténation.
par exemple:
select (id + name) as one from table 1; (id is numeric)
lève une exception de numéro invalide
dans ce cas, vous pouvez || opérateur qui est concaténation.
select (id || name) as one from table 1;
Oui, vous pouvez facilement combiner des colonnes telles que la concaténation de données de caractères:
select col1 | col 2 as bothcols from tbl ...
ou en ajoutant (par exemple) des données numériques:
select col1 + col2 as bothcols from tbl ...
Dans ces deux cas, vous vous retrouvez avec une seule colonne bothcols
, qui contient les données combinées. Vous devrez peut-être contraindre le type de données si les colonnes ne sont pas compatibles.
Votre syntaxe devrait fonctionner, peut-être ajouter un espace entre les colonnes comme
SELECT something + ' ' + somethingElse as onlyOneColumn FROM someTable
select column1 || ' ' || coloumn2 as whole_name FROM tablename;
here || est l'opérateur concat utilisé pour les concatter dans une seule colonne et ('') à l'intérieur || utilisé pour l'espace entre deux colonnes.
J'espère que cette réponse vous aidera:
SELECT (CAST(id AS NVARCHAR)+','+name) AS COMBINED_COLUMN FROM TABLENAME;