2013-03-26 46 views
25

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

我已经尝试了这个代码进行连结:

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

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

+1

今天,我已经意识到,像“从‘mysql的’选择‘你好’‘世界’AS COL1,“AS COL2 ....也适用 – 2015-03-19 22:31:33

+0

@DiegoAndrésDíazEspinoza:这是‘相邻字符串文字的串联’,是不是呢?就是说,它在连接两个字符串文字时可能起作用(可能是因为它们太长而无法放在一行上)。如果尝试将字符串与列连接在一起,它也起作用,如在这个问题中,我希望答案是'不' – 2017-02-16 19:13:50

+0

@JonathanLeffler是的,它是字符串文字的相邻连接,这就是为什么它只是一个评论,而不是一个答案。下面的答案是不可能的相邻的级联,它只是在使用CONCAT的时候可能。 – 2017-02-22 19:10:51

回答

34

你使用ORACLE型级联。 MySQL的应该是

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

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

11

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

mysql是否没有任何操作符 – user2201462 2013-03-26 07:03:47

+0

这是查询的命令行示例 – 2013-03-26 07:05:18

0

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