我现在正在使用sqlite3,因此使用||
运算符进行连接字符串。
稍后我想转移到MySQL,因此如果不对代码进行任何更改就会很好。我通常使用concat()
在MySQL中连接。 ||
是否也有效,或者我是否必须修改我的代码?或者还有其他解决方案吗?
顺便说一句,我在Ruby on Rails 3.1中进行编码。
答案 0 :(得分:23)
||
也适用于MySQL,但您需要将sql_mode
设置为PIPES_AS_CONCAT
。
演示:
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)