【Oracle】よく使う文字列結合は||それともCONCAT関数?

other

今回は、よく使う文字列結合は||それともCONCAT関数?ということで説明していきます。

よく使う文字列結合は||それともCONCAT関数?

以前、上記の記事でも紹介しましたが記述方法は下記になります。

SELECT '文字列1' || '文字列2' AS "CONCAT" FROM DUAL
SELECT CONCAT('文字列1','文字列2') AS "CONCAT" FROM DUAL
CONCAT
文字列1文字列2
文字結合の結果

結論としては、よく使う文字列結合は || です…が今の開発現場でたまたまCONCAT関数を使っているSQLを見かけました。

なぜ、CONCAT関数ではなく || をよく使うのかというとCONCAT関数は2つまでの文字列結合する場合には、使えますが2つ以上だと入れ子にする必要があるからです。

SELECT CONCAT(CONCAT('A','|'),'B') AS CONCAT FROM DUAL
CONCAT
A|B
3つの文字列結合(CONCAT関数)

||だと可読性がよく、見てわかりやすいためCONCAT関数よりも使われています。

SELECT 'A' || '|' || 'B' AS "CONCAT" FROM DUAL
CONCAT
A|B
3つの文字列結合(||演算子)

まとめ

実務では、CONCAT関数よりも||(演算子)を使うことが圧倒的に多いです。迷ったらCONCAT関数ではなく||を使うようにしましょう。ぜひ、参考にしてみてください。

タイトルとURLをコピーしました