MySQL串联运算符

7y4bm7vi  于 2023-03-07  发布在  Mysql
关注(0)|答案(6)|浏览(109)

我不知道MySQL的连接运算符。
我已经尝试了这个代码的连接:

SELECT vend_name || ' (' || vend_country || ')'
FROM Vendors
ORDER BY vend_name;

但是它不起作用。我应该使用哪个运算符来连接字符串?

qeeaahzv

qeeaahzv1#

||是ANSI标准的字符串连接操作符,大多数数据库都支持它(特别是not MS SQL Server),MySQL也支持它,但必须先使用SET sql_mode='PIPES_AS_CONCAT';SET sql_mode='ANSI';

ryhaxcpt

ryhaxcpt2#

您使用的是ORACLE类型的连接。MySQL的应该是

SELECT CONCAT(vend_name, '(', vend_country, ')')

调用CONCAT()函数,用逗号分隔值。

g2ieeal7

g2ieeal73#

MySQL的CONCAT函数用于将两个字符串连接成一个字符串。请尝试以下示例:

mysql> SELECT CONCAT('FIRST ', 'SECOND');
+----------------------------+
| CONCAT('FIRST ', 'SECOND') |
+----------------------------+
| FIRST SECOND               |
+----------------------------+
1 row in set (0.00 sec)

要更详细地理解CONCAT函数,请考虑一个employee_tbl表,该表包含以下记录:

mysql> SELECT CONCAT(id, name, work_date)
    -> FROM employee_tbl;
+-----------------------------+
| CONCAT(id, name, work_date) |
+-----------------------------+
| 1John2007-01-24             |
| 2Ram2007-05-27              |
| 3Jack2007-05-06             |
| 3Jack2007-04-06             |
| 4Jill2007-04-06             |
| 5Zara2007-06-06             |
| 5Zara2007-02-06             |
+-----------------------------+
ryevplcw

ryevplcw4#

使用concat的好处是可以传递不同数据类型的列和concat字符串表示

SELECT concat('XXX',  10.99, 'YYY', 3, 'ZZZ', now(3)) as a;

产出
项目a
-———-
年月日10时99分3秒2018 - 09 - 21 15:20:25. 106

t8e9dugd

t8e9dugd5#

只需使用CONCAT关键字来连接字符串。您可以像这样使用它

SELECT CONCAT(vend_name,'',vend_country) FROM vendors ORDER BY name;
efzxgjgh

efzxgjgh6#

每次使用管道作为连接运算符运行查询之前,都必须将管道设置为concat。

相关问题