本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
UPPER_ ATTRIBUTE _ NAMES 功能
將SUPER值中所有適用的屬性名稱轉換為大寫,並使用與UPPER函數. UPPER_ ATTRIBUTE _ NAMES 支持 UTF -8 個多字節字符,每個字符最多 4 個字節。
若要將SUPER屬性名稱轉換為小寫,請使用LOWER_ ATTRIBUTE _ NAMES 功能。
語法
UPPER_ATTRIBUTE_NAMES(super_expression)
引數
- super_expression
-
SUPER 表達式。
傳回類型
SUPER
範例
將SUPER屬性名稱轉換為大寫
下列範例會使用 UPPER ATTRIBUTE _ _ NAMES 來轉換資料表中所有SUPER值的屬性名稱。
-- Create a table and insert several SUPER values. CREATE TABLE t (i INT, s SUPER); INSERT INTO t VALUES (1, NULL), (2, 'a'::SUPER), (3, JSON_PARSE('{"AttributeName": "b"}')), (4, JSON_PARSE( '[{"Subobject": {"c": "c"}, "Subarray": [{"d": "d"}, "e"] }]')); -- Convert all attribute names to uppercase. UPDATE t SET s = UPPER_ATTRIBUTE_NAMES(s); SELECT i, s FROM t ORDER BY i;
i | s ---+-------------------------------------------------- 1 | NULL 2 | "a" 3 | {"ATTRIBUTENAME":"B"} 4 | [{"SUBOBJECT":{"C":"c"},"SUBARRAY":[{"D":"d"}, "e"]}]
觀察 UPPER _ ATTRIBUTE _ 如何NAMES功能。
NULL值和標量SUPER值,如保持
"a"
不變。在SUPER物件中,所有屬性名稱都會變更為大寫,但屬性值 (例如)
"b"
保持不變。UPPER_ ATTRIBUTE _ 遞歸地NAMES應用於嵌套在SUPER數組內或另一個SUPER對象內的任何對象。
NAMES在具有重複屬性名稱的SUPER物件上使用 UPPER ATTRIBUTE _ _
如果一個SUPER對象包含的屬性,其名稱僅在其大小寫不同,UPPERATTRIBUTE_ _ NAMES 將引發錯誤。請考量下列範例。
SELECT UPPER_ATTRIBUTE_NAMES(JSON_PARSE('{"A": "A", "a": "a"}'));
error: Invalid input code: 8001 context: SUPER value has duplicate attributes after case conversion.