Создать новую строковую переменную путем объединения двух целочисленных переменных с MySQL
Я извиняюсь за глупость вопроса, но я неофит с MySQL, и у меня возникают проблемы даже с чтением документации для этого. У меня есть таблица с двумя столбцами "homeid" и "indid", которые оба являются целочисленными полями данных. Я хочу объединить их вместе в новую переменную "uid" с дефисом. Желаемый результат будет выглядеть так:
uid homeid indid
10-1 10 1
10-2 10 2
11-1 11 1
Я пробовал следующий код, который прекрасно работает, генерируя переменную "uid", в которой должны находиться сцепленные переменные, но, похоже, не работает (хотя и не выдает ошибки) за пределами этого:
ALTER TABLE table_name
add column uid varchar(10) FIRST; /*adds column uid to table "table_name" as first column*/
UPDATE table_name
SET uid=CONCAT('-' , homeid, indid);
Заранее спасибо за вашу помощь (и терпение).
2 ответа
Здесь вам нужна функция CONCAT_WS()
использовать разделитель-разделитель -
или измените аргументы на CONCAT()
:
UPDATE table_name SET uid = CONCAT_WS('-' , homeid, indid);
ИЛИ изменить вокруг аргументов CONCAT()
UPDATE table_name SET uid = CONCAT(homeid, '-', indid);
Пожалуйста, попробуйте следующий запрос.
UPDATE table_name SET uid=CONCAT('-' , homeid, indid) where homeid > 0;