【发布时间】:2012-05-07 22:42:28
【问题描述】:
MySQL 表中有两列:SUBJECT 和 YEAR。
我想生成一个字母数字唯一编号,用于保存来自 SUBJECT 和 YEAR 的连接数据。
我该怎么做?是否可以使用像+ 这样的简单运算符?
【问题讨论】:
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`
【讨论】:
SELECT CONCACT(SUBJECT, ' ', YEAR) 真的帮了我大忙。 +1
SUBJECT,''),'-',IFNULL(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() 函数。
此函数不仅添加多个字符串值,而且使它们成为单个字符串值。它还允许您定义分隔符(“”、“”、“、”-“、”_“等)。
语法——
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');
【讨论】: