我不知道MySQL的连接运算符。我已经尝试了这个代码的连接:
SELECT vend_name || ' (' || vend_country || ')' FROM Vendors ORDER BY vend_name;
但是它不起作用。我应该使用哪个运算符来连接字符串?
qeeaahzv1#
||是ANSI标准的字符串连接操作符,大多数数据库都支持它(特别是not MS SQL Server),MySQL也支持它,但必须先使用SET sql_mode='PIPES_AS_CONCAT';或SET sql_mode='ANSI';。
||
SET sql_mode='PIPES_AS_CONCAT';
SET sql_mode='ANSI';
ryhaxcpt2#
您使用的是ORACLE类型的连接。MySQL的应该是
SELECT CONCAT(vend_name, '(', vend_country, ')')
调用CONCAT()函数,用逗号分隔值。
CONCAT()
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 | +-----------------------------+
ryevplcw4#
使用concat的好处是可以传递不同数据类型的列和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
t8e9dugd5#
只需使用CONCAT关键字来连接字符串。您可以像这样使用它
CONCAT
SELECT CONCAT(vend_name,'',vend_country) FROM vendors ORDER BY name;
efzxgjgh6#
每次使用管道作为连接运算符运行查询之前,都必须将管道设置为concat。
6条答案
按热度按时间qeeaahzv1#
||
是ANSI标准的字符串连接操作符,大多数数据库都支持它(特别是not MS SQL Server),MySQL也支持它,但必须先使用SET sql_mode='PIPES_AS_CONCAT';
或SET sql_mode='ANSI';
。ryhaxcpt2#
您使用的是ORACLE类型的连接。MySQL的应该是
调用
CONCAT()
函数,用逗号分隔值。g2ieeal73#
MySQL的CONCAT函数用于将两个字符串连接成一个字符串。请尝试以下示例:
要更详细地理解CONCAT函数,请考虑一个employee_tbl表,该表包含以下记录:
ryevplcw4#
使用
concat
的好处是可以传递不同数据类型的列和concat字符串表示产出
项目a
-———-
年月日10时99分3秒2018 - 09 - 21 15:20:25. 106
t8e9dugd5#
只需使用
CONCAT
关键字来连接字符串。您可以像这样使用它efzxgjgh6#
每次使用管道作为连接运算符运行查询之前,都必须将管道设置为concat。