MySQL,连接两列
MySQL表中有两列: SUBJECT
和YEAR
。
我想生成一个字母数字唯一的数字,它保存来自SUBJECT和YEAR的连接数据。
我怎样才能做到这一点? 有没有可能使用像+
这样的简单运算符?
你可以像这样使用CONCAT
function:
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`;
第二个选项使用符号(。)
从数据库表中提取数据后,将值分配给variables,然后使用(。)符号并连接值
$subject = $row['SUBJECT']; $year = $row['YEAR']; $subject_year = $subject . "_" . $year;
我们将使用空格,逗号,字母,数字等来代替下划线(_)
你可以使用CONCAT()内build的php来做这个。
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
创build一个列,像这样 – 试试这个 – update table_name Set 'newcol_name' = CONCACT(SUBJECT, ' ', YEAR) ;