конкатенация строк mysql возвращает 0 - PullRequest
13 голосов
/ 31 мая 2011

Я пытаюсь объединить 3 столбца в запросе выбора, чтобы показать в одном столбце в результатах.столбец называется DelPostalName и по какой-то причине всегда показывает «0», когда я запускаю запрос на выборку.как его попытка сложить строки, но нет фактических чисел для добавления.Я гуглил конкатенацию строк, и это, кажется, правильный синтаксис.есть идеи?

isc_orders.ordShipFirstName + ' ' + isc_orders.ordshiplastname + isc_orders.ordshipcompany as DelPostalName,

Ответы [ 4 ]

28 голосов
/ 31 мая 2011

Результат отображается как ноль, так как вы пытаетесь арифметически добавить строки друг к другу.

Правильный метод объединения строк в MySQL - это использование функции CONCAT(str1, str2, str3).

Здесь - руководство по функции.

PS: если вы хотите объединиться с разделителем, используйте CONCAT_WS() - также в том же руководстве

3 голосов
/ 31 мая 2011

Вы должны использовать CONCAT (как уже упоминали несколько человек), например:

CONCAT(isc_orders.ordShipFirstName,' ',
isc_orders.ordshiplastname,' ',
isc_orders.ordshipcompany)
AS DelPostalName
1 голос
/ 31 мая 2011

Попробуйте использовать concat для объединения столбцов / строк.

0 голосов
/ 31 мая 2011

Я думаю, вы должны использовать concat для объединения, а не +:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...