MySQLでCONCATを使わずに||で文字列結合できるか
結論から言うと、できる。
ただしデフォルトではできない。はず。
||
で文字列結合するにはSQLモードの設定を行う必要がある。
手っ取り早く試したいなら以下のSQLコマンドを叩く。
SET @@session.sql_mode='PIPES_AS_CONCAT';
これでセッション内でのみ ||
での文字列結合が有効になる。
こんな感じ。
SELECT * FROM user WHERE last_name || first_name like "山田花子";
前回のブログに書いたSQLと、意味的には同じものになる。
当然ながら、このSQLモードを設定してしまうと、 ||
本来の意味である OR
ではなくなってしまうため注意。
||
の文字列結合については、はてブでコメントをいただいたので、記事にしてみました。
コメントありがとうございました :bow:
はてなブックマーク - MySQLでカラムを結合して検索する。あとDoctrineのQueryBuilderでの書き方。 - Tomcky's blog