【MySQL】||(パイプ)を使ってみた結果
ここではMySQLで、||(パイプ)を使ってみた結果を紹介しています。
||(パイプ)を使ってみた結果
||(パイプ)というと、ORACLEデータベースでは文字列結合に使うことが出来ます。
例えば「SELECT ‘a’ || ‘b’ FROM dual;」とすると、’ab’という結果が返ってきます。
|| (パイプ)はMySQLの標準ではORに相当
実際にMySQLで試してみました。結果は文字列結合されませんでした。
mysql> SELECT 'a' || 'b';
+------------+
| 'a' || 'b' |
+------------+
| 0 |
+------------+
1 row in set, 2 warnings (0.00 sec)
どうやらMySQLの標準ではOR句に相当するようです。
MySQLの標準で文字列結合はCONCAT関数を使う
MySQLの標準設定で文字列結合を行う場合は、CONCAT関数を使います。
mysql> SELECT CONCAT('a','b');
+-----------------+
| CONCAT('a','b') |
+-----------------+
| ab |
+-----------------+
1 row in set (0.00 sec)
sql_modeの変更で||(パイプ) で文字列結合も可能
次のようにsql_modeを変更することで、||(パイプ)で文字列結合することもできるようです。設定をmy.cnfへ書き込めば常に||(パイプ)で文字列結合することもできます。
mysql> SET sql_mode='PIPES_AS_CONCAT';
Query OK, 0 rows affected, 1 warning (0.01 sec)
mysql> SELECT 'a' || 'b';
+------------+
| 'a' || 'b' |
+------------+
| ab |
+------------+
1 row in set (0.00 sec)