メインコンテンツまでスキップ
に最終更新

REPLACE_EMPTY

説明​

REPLACE_EMPTY 関数は、文字列の一部を別の文字列に置換します。REPLACE 関数とは異なり、old が空文字列の場合、new を str の各文字の前と str の末尾に挿入します。

この関数は主に Presto および Trino との互換性のために使用され、その動作は Presto および Trino の REPLACE() 関数とまったく同じです。バージョン 2.1.5 以降でサポートされています。

構文​

REPLACE_EMPTY ( <str>, <old>, <new> )

パラメータ​

パラメータ説明
<str>置換対象の文字列。
<old>置換対象の部分文字列。<old> が <str> に含まれていない場合、置換は行われません。<old> が空文字列の場合、str 文字列の各文字の前に <new> を挿入します。
<new><old> の置換に使用する新しい部分文字列。

戻り値​

部分文字列を置換した新しい文字列を返します。特殊な場合は次のとおりです。

  • いずれかのパラメータが NULL の場合、NULL を返します。
  • <old> が空文字列の場合、<new> を <str> の各文字の前に挿入した文字列を返します。

例​

SELECT replace('hello world', 'world', 'universe');
+---------------------------------------------+
| replace('hello world', 'world', 'universe') |
+---------------------------------------------+
| hello universe |
+---------------------------------------------+
SELECT replace_empty("abc", '', 'xyz');
+---------------------------------+
| replace_empty('abc', '', 'xyz') |
+---------------------------------+
| xyzaxyzbxyzcxyz |
+---------------------------------+
SELECT replace_empty("", "", "xyz");
+------------------------------+
| replace_empty('', '', 'xyz') |
+------------------------------+
| xyz |
+------------------------------+