UPPER_ATTRIBUTE_NAMES 함수
UPPER 함수와 같은 대소문자 변환 루틴을 사용하여 SUPER 값의 모든 해당 속성 이름을 대문자로 변환합니다. 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 객체에 재귀적으로 적용됩니다.
속성 이름이 중복된 SUPER 객체에 UPPER_ATTRIBUTE_NAMES 사용
SUPER 객체에 이름의 대소문자만 다른 속성이 포함되어 있는 경우 UPPER_ATTRIBUTE_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.