配列出力関数は、配列データの出力形式を選択するために使用されます。例えば、文字列として配列データの各要素を順番に出力し、カンマで区切ることができます。OceanBaseデータベースが現在サポートしている配列出力関数には、array_to_string()が含まれます。
array_to_string
array_to_string()関数は配列を文字列に変換します。具体的には、指定された区切り文字とNULL要素文字を使用して、配列内のすべての基本要素を文字列として出力します。配列がネストされた配列の場合、その非NULLサブ配列を再帰的に出力します。string_to_array()と完全に逆関数ではありません。構文は以下のとおりです:
array_to_string(arr1, delimiter[, null_str])
入力パラメータの説明は以下のとおりです:
arr1渡される型は配列型でなければなりません。delimiter区切り文字。Char、Varchar型を含む文字型をサポートします。null_str(オプション)NULL要素文字。Char、Varchar型を含む文字型をサポートします。指定しない場合、NULL要素と対応する区切り文字は出力されません。
戻り値はText型の文字列です。
例:
SELECT array_to_string([1,2,NULL,3], '-', 'N');
+-----------------------------------------+
| array_to_string([1,2,NULL,3], '-', 'N') |
+-----------------------------------------+
| 1-2-N-3 |
+-----------------------------------------+
1 row in set
SELECT array_to_string([1,2,NULL,3], 'and');
+--------------------------------------+
| array_to_string([1,2,NULL,3], 'and') |
+--------------------------------------+
| 1and2and3 |
+--------------------------------------+
1 row in set
SELECT array_to_string([["hello", "world"], ["hi", "what"]], '-');
+------------------------------------------------------------+
| array_to_string([["hello", "world"], ["hi", "what"]], '-') |
+------------------------------------------------------------+
| hello-world-hi-what |
+------------------------------------------------------------+
1 row in set
SELECT array_to_string([["hello", "world"], ["hi", "what"], NULL], '-', 'N');
+-----------------------------------------------------------------------+
| array_to_string([["hello", "world"], ["hi", "what"], NULL], '-', 'N') |
+-----------------------------------------------------------------------+
| hello-world-hi-what-N |
+-----------------------------------------------------------------------+
1 row in set