本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
STR_TO_MAP 函數
STR_TO_MAP 函數是string-to-map轉換函數。它會將映射的字串表示法 (或字典) 轉換為實際的映射資料結構。
當您需要在 SQL 中使用映射資料結構,但資料最初儲存為字串時,此函數很有用。透過將字串表示法轉換為實際映射,您可以接著對映射資料執行操作和操作。
語法
str_to_map(text[, pairDelim[, keyValueDelim]])
引數
- 文字
-
代表映射的 STRING 表達式。
- pairDelim
-
選用 STRING 常值,指定如何分隔項目。預設為逗號 (
','
)。 - keyValueDelim
-
選用 STRING 常值,指定如何分隔每個鍵值對。預設為冒號 (
':'
)。
傳回類型
STR_TO_MAP 函數會針對索引鍵和值傳回 STRING 的 MAP。pairDelim 和 keyValueDelim 都視為規則表達式。
範例
下列範例採用輸入字串和兩個分隔符號引數,並將字串表示法轉換為實際的映射資料結構。在此特定範例中,輸入字串'a:1,b:2,c:3'
代表具有下列索引鍵/值對的映射: 'a'
是索引鍵, '1'
是值。 'b'
是索引鍵, '2'
是值。 'c'
是索引鍵, 是值。 是索引鍵, '3'
是值。','
分隔符號用於分隔索引鍵/值對,而':'
分隔符號用於分隔每一對中的索引鍵和值。此查詢的輸出為:{"a":"1","b":"2","c":"3"}
。這是產生的映射資料結構,其中索引鍵為 'a'
、 'b'
和 'c'
,對應值為 '2'
、 '1'
和 '3'
。
SELECT str_to_map('a:1,b:2,c:3', ',', ':'); {"a":"1","b":"2","c":"3"}
下列範例示範 STR_TO_MAP 函數預期輸入字串為特定格式,並正確分隔索引鍵/值對。如果輸入字串不符合預期的格式,函數仍會嘗試建立映射,但產生的值可能不如預期。
SELECT str_to_map('a'); {"a":null}