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