В таблице MySQL есть два столбца: SUBJECT
и YEAR
.
Я хочу создать буквенно-цифровой уникальный номер, который содержит объединенные данные из SUBJECT и YEAR.
Как я могу это сделать? Можно ли использовать простой оператор типа +
?
Вы можете использовать функцию CONCAT
следующим образом:
SELECT CONCAT(`SUBJECT`, ' ', `YEAR`) FROM `table`
Обновить:
Чтобы получить этот результат, вы можете попробовать следующее:
SET @rn := 0; SELECT CONCAT(`SUBJECT`,'-',`YEAR`,'-',LPAD(@rn := @rn+1,3,'0')) FROM `table`
В php у нас есть два варианта конкатенации столбцов таблицы.
Первый вариант с использованием запроса
В запросе ключевое слово CONCAT используется для конкатенации двух столбцов
SELECT CONCAT(`SUBJECT`,'_', `YEAR`) AS subject_year FROM `table_name`;
Второй вариант с использованием символа (.)
После извлечения данных из таблицы базы данных присвойте значения переменной, затем используйте (.) Символ и соедините значения
$subject = $row['SUBJECT']; $year = $row['YEAR']; $subject_year = $subject . "_" . $year;
Вместо подчеркивания (_) мы будем использовать пробелы, запятые, буквы, цифры ..etc
Вы можете использовать php, встроенный в CONCAT () для этого.
SELECT CONCAT(`SUBJECT`, ' ', `YEAR`) FROM `table`;
то результат
и если вы хотите сделать то же самое, что и в другом поле, которое тогда
SELECT filed1 as category,filed2 as item, GROUP_CONCAT(CAST(filed2 as CHAR)) as item_name FROM `table` group by filed1
то это выводится
сначала создайте столбец в таблице newcol_name
как это: попробуйте это – update table_name Set 'newcol_name' = CONCACT(SUBJECT, ' ', YEAR) ;