メインコンテンツまでスキップ

str_to_map

str_to_map

説明

与えられた文字列を2つの区切り文字を使用してキーと値のペアに分割し、分割されたペアのマップを返します。

この関数はv3.1以降でサポートされています。

構文

MAP<VARCHAR, VARCHAR> str_to_map(VARCHAR content[, VARCHAR delimiter[, VARCHAR map_delimiter]])

パラメータ

  • content: 必須、分割する文字列式です。
  • delimiter: オプション、contentをキーと値のペアに分割するのに使用される区切り文字です。デフォルトは,です。
  • map_delimiter: オプション、各キーと値のペアを区切るのに使用される区切り文字です。デフォルトは:です。

戻り値

STRING要素のMAPを返します。入力がnullの場合、結果もnullになります。

mysql> SELECT str_to_map('a:1|b:2|c:3', '|', ':') as map;
+---------------------------+
| map |
+---------------------------+
| {"a":"1","b":"2","c":"3"} |
+---------------------------+

mysql> SELECT str_to_map('a:1;b:2;c:3', ';', ':') as map;
+---------------------------+
| map |
+---------------------------+
| {"a":"1","b":"2","c":"3"} |
+---------------------------+

mysql> SELECT str_to_map('a:1,b:2,c:3', ',', ':') as map;
+---------------------------+
| map |
+---------------------------+
| {"a":"1","b":"2","c":"3"} |
+---------------------------+

mysql> SELECT str_to_map('a') as map;
+------------+
| map |
+------------+
| {"a":null} |
+------------+

mysql> SELECT str_to_map('a:1,b:2,c:3',null, ':') as map;
+------+
| map |
+------+
| NULL |
+------+

mysql> SELECT str_to_map('a:1,b:2,c:null') as map;
+------------------------------+
| map |
+------------------------------+
| {"a":"1","b":"2","c":"null"} |
+------------------------------+

キーワード

STR_TO_MAP