MySQL连接运算符

时间:2013-03-26 06:58:20

标签: mysql sql concatenation

我不知道MySQL的连接运算符。

我已尝试使用此代码进行连接:

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

但它没有用。我应该使用哪个运算符来连接字符串?

6 个答案:

答案 0 :(得分:58)

||是ANSI标准字符串连接运算符,受大多数数据库支持(特别是not MS SQL Server)。 MySQL也支持它,但你必须先SET sql_mode='PIPES_AS_CONCAT';SET sql_mode='ANSI';

答案 1 :(得分:40)

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

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

调用CONCAT()函数并用逗号分隔您的值。

答案 2 :(得分:14)

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             |
+-----------------------------+

答案 3 :(得分:1)

只需使用CONCAT关键字即可连接字符串。 您可以像

那样使用它
SELECT CONCAT(vend_name,'',vend_country) FROM vendors ORER BY name;

答案 4 :(得分:1)

使用std::array的好处是,您可以传递不同的数据类型列和concat字符串表示形式

concat

输出

  

a
  -----
  XXX10.99Y​​YY3ZZZ2018-09-21 15:20:25.106

答案 5 :(得分:-1)

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