49

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

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

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

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

4

6 回答 6

76

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

于 2014-07-16T09:33:59.140 回答
54

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

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

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

于 2013-03-26T07:01:04.847 回答
15

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             |
+-----------------------------+
于 2013-03-26T07:01:01.000 回答
5

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

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

输出

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

于 2018-09-21T19:21:19.127 回答
2

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

SELECT CONCAT(vend_name,'',vend_country) FROM vendors ORER BY name;
于 2018-07-31T10:52:48.327 回答
-1

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

于 2018-01-14T19:29:59.737 回答