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;
我们将使用空格、逗号、字母、数字等代替下划线(_)
在查询中,CONCAT_WS()
函数。
此函数不仅添加多个字符串值,而且使它们成为单个字符串值。它还允许您定义分隔符(“”、“”、“、”–“、”_“等)。
语法——</p>
CONCAT_WS( SEPERATOR, column1, column2, ... )
例子
SELECT
topic,
CONCAT_WS( " ", subject, year ) AS subject_year
FROM table
$crud->set_relation('id','students','{first_name} {last_name}');
$crud->display_as('student_id','Students Name');