2013年3月5日火曜日

MySQLでパイプ(||)を使って文字列を結合する。

MySQLはPostgreSQLなどのようにパイプで文字列結合が出来ません。
MySQLで文字列を結合する時はconcatかconcat_wsを使うかと思いますが、実は他のDBMSと同じようにパイプ(||)で文字列を結合するように設定することができます。

パイプを使用して文字列を結合する方法はsql_modeにPIPES_AS_CONCATを追加するだけ。

set sql_mode=PIPES_AS_CONCATするなり、my.cnf(my.ini)で設定するなりすると有効になります。
setだとセッション中のみ有効なので、my.cnfに設定しておくのが良いのではないでしょうか。

ちなみに、Amazon RDS for MySQL(AWS)でも[RDS Management Console] -> [DB Parameter Groups]で設定することで有効になりました。
(尚、RDSのdefaultのParameter Groupは設定が変えられないので、変えたいときは新規作成するとよいと思います。)


[参考]
http://www.s-quad.com/wordpress/?p=1319

0 件のコメント:

コメントを投稿