STR_TO_MAP 函數 - AWS Clean Rooms

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

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。pairDelimkeyValueDelim 都視為規則表達式。

範例

下列範例採用輸入字串和兩個分隔符號引數,並將字串表示法轉換為實際的映射資料結構。在此特定範例中,輸入字串'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}