目前我正在使用sqlite3,因此需要使用||
运算符来连接字符串。
未来我想转移到MySQL,希望不必更改代码。在MySQL中,我通常使用concat()
来连接字符串。那么||
也能用吗?还是说我需要修改代码?或者有其他解决方案吗?
顺便说一下,我是在Ruby on Rails 3.1中编码的。
目前我正在使用sqlite3,因此需要使用||
运算符来连接字符串。
未来我想转移到MySQL,希望不必更改代码。在MySQL中,我通常使用concat()
来连接字符串。那么||
也能用吗?还是说我需要修改代码?或者有其他解决方案吗?
顺便说一下,我是在Ruby on Rails 3.1中编码的。
||
在MySQL中同样适用,但是需要设置 sql_mode
为 PIPES_AS_CONCAT
。
Demo:
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)
ansi
模式下运行时(这是我强烈推荐的),也包括此内容:http://dev.mysql.com/doc/refman/5.5/en/server-sql-mode.html#sqlmode_ansi - user330315