我不知道MySQL的連接運算符。MySQL連接運算符
我已經嘗試了這個代碼進行連結:
>>SELECT vend_name || ' (' || vend_country || ')'
>>FROM Vendors
>>ORDER BY vend_name;
但沒有奏效。我應該使用哪個運算符來連接字符串?
我不知道MySQL的連接運算符。MySQL連接運算符
我已經嘗試了這個代碼進行連結:
>>SELECT vend_name || ' (' || vend_country || ')'
>>FROM Vendors
>>ORDER BY vend_name;
但沒有奏效。我應該使用哪個運算符來連接字符串?
你使用ORACLE型級聯。 MySQL的應該是
SELECT CONCAT(vend_name, '(', vend_country, ')')
調用CONCAT()
函數並用逗號分隔您的值。
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 |
+-----------------------------+
mysql是否沒有任何操作符 – user2201462 2013-03-26 07:03:47
這是查詢的命令行示例 – 2013-03-26 07:05:18
||
是ANSI標準字符串拼接運算符,受大多數數據庫(特別是not MS SQL Server)支持。 MySQL也支持它,但首先你必須SET sql_mode='PIPES_AS_CONCAT';
。
在使用管道作爲連接運算符運行查詢之前,您必須每次都將管道設置爲concat。
今天,我已經意識到,像「從‘mysql的’選擇‘你好’‘世界’AS COL1,「AS COL2 ....也適用 – 2015-03-19 22:31:33
@DiegoAndrésDíazEspinoza:這是‘相鄰字符串文字的串聯’,是不是呢?就是說,它在連接兩個字符串文字時可能起作用(可能是因爲它們太長而無法放在一行上)。如果嘗試將字符串與列連接在一起,它也起作用,如在這個問題中,我希望答案是'不' – 2017-02-16 19:13:50
@JonathanLeffler是的,它是字符串文字的相鄰連接,這就是爲什麼它只是一個評論,而不是一個答案。下面的答案是不可能的相鄰的級聯,它只是在使用CONCAT的時候可能。 – 2017-02-22 19:10:51