Можно ли выбрать 2 столбца только в одном и объединить их?
Пример:
select something + somethingElse as onlyOneColumn from someTable
Можно ли выбрать 2 столбца только в одном и объединить их?
Пример:
select something + somethingElse as onlyOneColumn from someTable
Да, как и вы:
select something + somethingElse as onlyOneColumn from someTable
Если вы запросили базу данных, вы бы получили правильный ответ.
Что происходит, вы просите выражение. Очень простое выражение - это просто имя столбца, более сложное выражение может содержать в себе формулы и т.д.
Да,
SELECT CONCAT(field1, field2) AS WHOLENAME FROM TABLE
WHERE ...
приведет к набору данных, например:
WHOLENAME
field1field2
(SELECT column1 as column FROM table )
UNION
(SELECT column2 as column FROM table )
Да, возможно, если типы данных совместимы. Если это не так, используйте CONVERT() или CAST()
SELECT firstname + ' ' + lastname AS name FROM customers
Ни один из вышеперечисленных ответов не работал у меня, но это...
SELECT CONCAT(Cust_First, ' ', Cust_Last) AS CustName FROM customer
Оператор + должен делать трюк просто отлично. Помните, что если один из столбцов имеет значение null или не имеет значения, он даст вам результат NULL. Вместо этого объедините + с функцией COALESCE, и вы будете установлены.
Вот пример:
SELECT COALESCE(column1,'') + COALESCE(column2,'') FROM table1.
В этом примере, если column1 - NULL, тогда результаты column2 будут отображаться вместо простого NULL.
Надеюсь, это поможет!
Да, вы можете объединить столбцы достаточно легко, например, конкатенацию символьных данных:
select col1 | col 2 as bothcols from tbl ...
или добавление (например) числовых данных:
select col1 + col2 as bothcols from tbl ...
В обоих случаях вы получаете один столбец bothcols, который содержит комбинированные данные. Возможно, вам придется принудительно использовать тип данных, если столбцы несовместимы.
Ваш синтаксис должен работать, возможно, добавить пробел между такими типами, как
SELECT something + ' ' + somethingElse as onlyOneColumn FROM someTable
если один из столбцов - это число, которое я испытал, оракул будет думать '+' как оператор суммы вместо конкатенации.
например:
select (id + name) as one from table 1; (id is numeric)
вызывает недопустимое числовое исключение
в таком случае вы можете || оператор, который является конкатенацией.
select (id || name) as one from table 1;
Посмотрите на некоторые примеры ЗДЕСЬ
Надеюсь, этот ответ поможет:
SELECT (CAST(id AS NVARCHAR)+','+name) AS COMBINED_COLUMN FROM TABLENAME;
select column1 || ' ' || column2 as whole_name FROM tablename;
Здесь || это оператор concat, используемый для объединения их в один столбец и ('') внутри || используется для пространства между двумя столбцами.