106

MySQL 表中有两列:SUBJECTYEAR.

我想生成一个字母数字唯一编号,其中包含来自 SUBJECT 和 YEAR 的连接数据。

我怎样才能做到这一点?是否可以使用像这样的简单运算符+

4

5 回答 5

208

您可以CONCAT像这样使用该功能:

SELECT CONCAT(`SUBJECT`, ' ', `YEAR`) FROM `table`

更新:

要获得该结果,您可以尝试以下操作:

SET @rn := 0;

SELECT CONCAT(`SUBJECT`,'-',`YEAR`,'-',LPAD(@rn := @rn+1,3,'0'))
FROM `table`
于 2012-04-27T07:13:33.007 回答
24

您可以为此使用 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 

然后这是输出 在此处输入图像描述

于 2017-03-29T20:05:15.620 回答
10

在 php 中,我们有两个选项来连接表列。

使用查询的第一个选项

在查询中,CONCAT关键字用于连接两列

SELECT CONCAT(`SUBJECT`,'_', `YEAR`) AS subject_year FROM `table_name`;

使用符号 ( . ) 的第二个选项

从数据库表中获取数据后,将值分配给变量,然后使用( . ) 符号并连接值

$subject = $row['SUBJECT'];
$year = $row['YEAR'];
$subject_year = $subject . "_" . $year;

我们将使用空格、逗号、字母、数字等代替下划线(_)

于 2017-01-20T07:40:42.473 回答
0

在查询中,CONCAT_WS()函数。

此函数不仅添加多个字符串值,而且使它们成为单个字符串值。它还允许您定义分隔符(“”、“”、“、”–“、”_“等)。

语法——</p>

CONCAT_WS( SEPERATOR, column1, column2, ... )

例子

SELECT 
topic, 
CONCAT_WS( " ", subject, year ) AS subject_year 
FROM table
于 2020-12-26T05:59:37.273 回答
-1
$crud->set_relation('id','students','{first_name} {last_name}');
$crud->display_as('student_id','Students Name');
于 2018-02-12T11:01:12.730 回答