配列出力関数は、配列データの出力形式を選択するために使用されます。例えば、文字列として配列データの各要素を順次出力し、カンマで区切る形式などです。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