MySQL表格中有两列:SUBJECT
和YEAR
。
我想生成一个字母数字唯一编号,用于保存SUBJECT和YEAR的连接数据。
我该怎么做?是否可以使用像+
这样的简单运算符?
答案 0 :(得分:162)
您可以使用CONCAT
这样的功能:
SELECT CONCAT(`SUBJECT`, ' ', `YEAR`) FROM `table`
更新
要获得该结果,您可以尝试:
SET @rn := 0;
SELECT CONCAT(`SUBJECT`,'-',`YEAR`,'-',LPAD(@rn := @rn+1,3,'0'))
FROM `table`
答案 1 :(得分:5)
在php中,我们有两个连接表列的选项。
使用查询的第一个选项
在查询中, CONCAT 关键字用于连接两列
SELECT CONCAT(`SUBJECT`,'_', `YEAR`) AS subject_year FROM `table_name`;
使用符号(。)
的第二个选项从数据库表中获取数据后,将值分配给变量,然后使用(。)符号并连接值
$subject = $row['SUBJECT'];
$year = $row['YEAR'];
$subject_year = $subject . "_" . $year;
我们将使用空格,逗号,字母,数字等来代替下划线(_)
答案 2 :(得分:5)
你可以使用内置于CONCAT()的php。
SELECT CONCAT(`name`, ' ', `email`) as password_email FROM `table`;
将字段名称更改为您的要求
然后结果是
如果你想使用其他字段(
)连接相同的字段SELECT filed1 as category,filed2 as item, GROUP_CONCAT(CAST(filed2 as CHAR)) as item_name FROM `table` group by filed1
答案 3 :(得分:0)
$crud->set_relation('id','students','{first_name} {last_name}');
$crud->display_as('student_id','Students Name');
答案 4 :(得分:0)
在查询中,CONCAT_WS()
函数。
此函数不仅添加多个字符串值,而且使它们成为单个字符串值。它还允许您定义分隔符(“”、“”、“、”-“、”_“等)。
语法 –
CONCAT_WS( SEPERATOR, column1, column2, ... )
示例
SELECT
topic,
CONCAT_WS( " ", subject, year ) AS subject_year
FROM table
答案 5 :(得分:-9)
首先在表newcol_name
中创建一个列,如下所示 -
试试这个 - update table_name Set 'newcol_name' = CONCACT(SUBJECT, ' ', YEAR) ;