PostgreSQLでは、CONCAT_WS()
関数は2つ以上の文字列を連結し、それぞれの間にセパレータを配置します。区切り文字は最初の引数で指定されます。
構文
構文は次のようになります:
concat_ws(sep text, str "any" [, str "any" [, ...] ])
sep text
使用するセパレータです。
例
デモンストレーションの例を次に示します。
SELECT CONCAT_WS(',', 'Red', 'Green');
結果:
Red,Green
この場合、区切り文字としてコンマを使用して文字列を連結しました。
区切り文字としてスペースを使用する例を次に示します。
SELECT CONCAT_WS(' ', 'Squid', 'Game');
結果:
Squid Game
連結番号
PostgreSQLは引数のテキスト表現を連結するため、数値を明示的に文字列に変換しなくても連結できます。
SELECT CONCAT_WS(',', 1, 2, 3);
結果:
1,2,3
ただし、先行ゼロがある場合は注意してください:
SELECT CONCAT_WS(',', 001, 002, 003);
結果:
1,2,3
ヌル引数
ヌル引数は無視されます:
SELECT CONCAT_WS(' ', 'Player', NULL, 456);
結果:
Player 456
引数なし
CONCAT_WS()
を呼び出す 引数を渡さないとエラーが発生します:
SELECT CONCAT_WS();
結果:
ERROR: function concat_ws() does not exist LINE 1: SELECT CONCAT_WS(); ^ HINT: No function matches the given name and argument types. You might need to add explicit type casts.