Я пытаюсь найти способ объединить два столбца в один, но продолжаю получать значение «0» в столбце вместо комбинации слов.
Вот что я пробовал так же, как и другие:
SELECT column1 + column2 AS column3
FROM table;
SELECT column1 || column2 AS column3
FROM table;
SELECT column1 + ' ' + column2 AS column3
FROM table;
Может ли кто-нибудь сообщить мне, что я делаю не так?
Ответы:
Я предполагаю, что вы используете MySQL, где
+
оператор выполняет сложение вместе с тихим преобразованием значений в числа. Если значение не начинается с цифры, то преобразованное значение равно0
.Так что попробуйте это:
Два способа добавить пробел:
источник
sql server 2005
и это дает мне ошибку какIncorrect syntax near ')'.
Попробуй, у меня это работает
источник
Это работа для меня
источник
Это единственное решение, которое сработает для меня, когда мне потребуется пространство между объединяемыми столбцами.
источник
Поклонникам MySQL понравится эта
IFNULL()
функция. Другие ответы здесь предполагают аналогичную функциональность сISNULL()
функцией в некоторых реализациях. В моей ситуации у меня есть столбец описаний, который естьNOT NULL
, и столбец серийных номеров, которые могут быть.NULL
Вот как я объединил их в один столбец:Мои результаты показывают, что результаты конкатенации строки с
NULL
результатами в файлеNULL
. В этих случаях я получал альтернативную ценность.источник
Если вы работаете, то
Oracle
:ИЛИ
Если вы работаете с MySql, то:
источник
Я использовал этот способ, и он всегда был лучшим. В этом коде также обрабатывается null
Попробуй это...
источник
источник
источник