Вставьте объединенные значения двух столбцов в таблице в один столбец другой таблицы

У меня есть таблица, которая имеет три столбца. Они имеют тип VarChar. Я ищу, чтобы объединить значения в первом и втором столбце и вставить его в первый столбец другой таблицы.

Я использовал этот код

insert into table2(cloumn1)
select city+''+Coalesce(zipcode) from table1

Я получаю ошибку

Error Code: 1292. Truncated incorrect DOUBLE value: 'london'

"Лондон" - это значение первой строки, а вторая строка имеет значения, подобные "123.2.4.4". Оба столбца объявлены как VarChar.

Что я должен изменить в запросе, чтобы получить значения в таблице2, которые выглядят как "Лондон 123.2.4.4"??

1 ответ

Решение

Вы должны использовать CONCAT() функция для объединения строк:

insert into table2(cloumn1)
select CONCAT(city, Coalesce(zipcode, '')) 
from table1

И убедитесь, что тип столбца, в который вы вставляете, - это varchar. Если тип данных double, то вы получите эту ошибку.

Другие вопросы по тегам