【问题标题】:Can MySQL concatenate strings with ||MySQL 可以用 || 连接字符串吗?
【发布时间】:2012-01-02 23:23:07
【问题描述】:
我目前正在使用 sqlite3,因此使用 || 运算符连接字符串。
以后我想转移到 MySQL,因此如果不必对代码进行任何更改,那就太好了。我通常会使用concat() 在 MySQL 中进行连接。 || 也可以工作,还是我必须修改我的代码?还是有其他解决办法?
顺便说一下,我正在使用 Ruby on Rails 3.1 进行编码。
【问题讨论】:
标签:
mysql
concatenation
string-concatenation
【解决方案1】:
|| 也适用于 MySQL,但您需要将 sql_mode 设置为 PIPES_AS_CONCAT。
Official Doc
演示:
mysql> select c from tmp;
+------+
| c |
+------+
| foo |
| bar |
+------+
2 rows in set (0.00 sec)
mysql> select c||' hi' from tmp;
+----------+
| c||' hi' |
+----------+
| 0 |
| 0 |
+----------+
2 rows in set, 2 warnings (0.00 sec)
mysql> set sql_mode=PIPES_AS_CONCAT;
Query OK, 0 rows affected (0.00 sec)
mysql> select c||' hi' from tmp;
+----------+
| c||' hi' |
+----------+
| foo hi |
| bar hi |
+----------+
2 rows in set (0.00 sec)