Подтвердить что ты не робот

MySQL объединяет два столбца в один столбец

Я пытаюсь найти способ объединить два столбца в один, но продолжайте получать значение "0" в столбце вместо комбинации слов.

Это то, что я пробовал, а также другие:

SELECT column1 + column2 AS column3
FROM table;

SELECT column1 || column2 AS column3
FROM table;

SELECT column1 + ' ' + column2 AS column3
FROM table;

Может кто-нибудь, пожалуйста, дайте мне знать, что я делаю неправильно?

4b9b3361

Ответ 1

Я предполагаю, что вы используете MySQL, где оператор + делает добавление, а также бесшумное преобразование значений в числа. Если значение не начинается с цифры, тогда преобразованное значение 0.

Итак, попробуйте следующее:

select concat(column1, column2)

Два способа добавить пробел:

select concat(column1, ' ', column2)
select concat_ws(' ', column1, column2)

Ответ 2

Это работает для меня

SELECT CONCAT(column1, ' ' ,column2) AS newColumn;

Ответ 3

Попробуй, это работает для меня

select (column1 || ' '|| column2) from table;

Ответ 4

Это единственное решение, которое будет работать для меня, когда мне понадобится пространство между столбцами, которые будут объединены.

select concat(concat(column1,' '), column2)

Ответ 5

Для поклонников MySQL там мне нравится функция IFNULL(). Другие ответы здесь предлагают аналогичную функциональность с функцией ISNULL() в некоторых реализациях. В моей ситуации у меня есть столбец описаний NOT NULL и столбец серийных чисел, который может быть NULL Вот как я объединил их в один столбец:

SELECT CONCAT(description,IFNULL(' SN: ', serial_number),'')) FROM my_table;

Мои результаты показывают, что результаты конкатенирования строки с помощью NULL приводят к NULL. Я получаю альтернативную ценность в этих случаях.

Ответ 6

Если вы работаете Oracle Затем:

SELECT column1 || column2 AS column3
FROM table;

ИЛИ

Если вы работаете на MySql Затем:

SELECT Concat(column1 ,column2) AS column3
FROM table;

Ответ 7

Я использовал этот способ и его лучший навсегда. В этом коде null также обрабатывается

SELECT Title,
FirstName,
lastName, 
ISNULL(Title,'') + ' ' + ISNULL(FirstName,'') + ' ' + ISNULL(LastName,'') as FullName 
FROM Customer

Попробуйте это...

Ответ 8

convert(varchar, column_name1) + (varchar, column_name)

Ответ 9

SELECT Collumn1 + '-' + Collumn2 AS FROM FullName TableName

Ответ 10

- например: столбцы с наборами чисел.... - При объединении столбцов с номерами вам нужно будет отбросить эти столбцы из типа #data в строку - другой sql добавит эти числа вместе в те же столбцы/результат.

выберите бросок (shipperid as varchar) + '| '+ cast (empid как varchar) от sales.Orders