쿠키 기본 설정 선택

당사는 사이트와 서비스를 제공하는 데 필요한 필수 쿠키 및 유사한 도구를 사용합니다. 고객이 사이트를 어떻게 사용하는지 파악하고 개선할 수 있도록 성능 쿠키를 사용해 익명의 통계를 수집합니다. 필수 쿠키는 비활성화할 수 없지만 '사용자 지정' 또는 ‘거부’를 클릭하여 성능 쿠키를 거부할 수 있습니다.

사용자가 동의하는 경우 AWS와 승인된 제3자도 쿠키를 사용하여 유용한 사이트 기능을 제공하고, 사용자의 기본 설정을 기억하고, 관련 광고를 비롯한 관련 콘텐츠를 표시합니다. 필수가 아닌 모든 쿠키를 수락하거나 거부하려면 ‘수락’ 또는 ‘거부’를 클릭하세요. 더 자세한 내용을 선택하려면 ‘사용자 정의’를 클릭하세요.

LOWER_ATTRIBUTE_NAMES 함수 - Amazon Redshift

LOWER_ATTRIBUTE_NAMES 함수

LOWER 함수와 같은 대소문자 변환 루틴을 사용하여 SUPER 값의 모든 해당 속성 이름을 소문자로 변환합니다. LOWER_ATTRIBUTE_NAMES는 UTF-8 멀티바이트 문자를 지원하여 문자당 최대 4바이트까지 가능합니다.

SUPER 속성 이름을 대문자로 변환하려면 UPPER_ATTRIBUTE_NAMES 함수를 사용합니다.

구문

LOWER_ATTRIBUTE_NAMES(super_expression)

인수

super_expression

SUPER 표현식입니다.

반환 타입

SUPER

사용 노트

Amazon Redshift에서 열 식별자는 일반적으로 대소문자를 구분하지 않고 소문자로 변환됩니다. JSON과 같이 대소문자를 구분하는 데이터 형식의 데이터를 수집하는 경우 데이터에 대소문자가 혼합된 속성 이름이 포함될 수 있습니다.

다음 예제를 살펴보세요.

CREATE TABLE t1 (s) AS SELECT JSON_PARSE('{"AttributeName": "Value"}'); SELECT s.AttributeName FROM t1; attributename ------------- NULL SELECT s."AttributeName" FROM t1; attributename ------------- NULL

Amazon Redshift는 두 쿼리 모두에 대해 NULL을 반환합니다. AttributeName을 쿼리하려면 LOWER_ATTRIBUTE_NAMES를 사용하여 데이터의 속성 이름을 소문자로 변환합니다. 다음 예제를 살펴보세요.

CREATE TABLE t2 (s) AS SELECT LOWER_ATTRIBUTE_NAMES(s) FROM t1; SELECT s.attributename FROM t2; attributename ------------- "Value" SELECT s.AttributeName FROM t2; attributename ------------- "Value" SELECT s."attributename" FROM t2; attributename ------------- "Value" SELECT s."AttributeName" FROM t2; attributename ------------- "Value"

대소문자가 혼합된 객체 속성 이름을 사용하기 위한 관련 옵션은 Amazon Redshift가 SUPER 속성 이름의 대소문자를 인식할 수 있도록 하는 enable_case_sensitive_super_attribute 구성 옵션입니다. LOWER_ATTRIBUTE_NAMES 대신 이 옵션을 사용할 수 있습니다. enable_case_sensitive_super_attribute에 대한 자세한 내용은 enable_case_sensitive_super_attribute 섹션을 참조하세요.

예시

SUPER 속성 이름을 소문자로 변환

다음 예제에서는 LOWER_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 lowercase. UPDATE t SET s = LOWER_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"]}]

LOWER_ATTRIBUTE_NAMES가 어떻게 작동하는지 살펴보세요.

  • NULL 값 및 스칼라 SUPER 값(예: "A")은 변경되지 않습니다.

  • SUPER 객체에서는 모든 속성 이름이 소문자로 변경되지만 "B"와 같은 속성 값은 변경되지 않습니다.

  • LOWER_ATTRIBUTE_NAMES는 SUPER 배열 또는 다른 객체 내에 중첩된 모든 SUPER 객체에 재귀적으로 적용됩니다.

속성 이름이 중복된 SUPER 객체에 LOWER_ATTRIBUTE_NAMES 사용

SUPER 객체에 이름의 대소문자만 다른 속성이 포함되어 있는 경우 LOWER_ATTRIBUTE_NAMES에서 오류가 발생합니다. 다음 예제를 살펴보세요.

SELECT LOWER_ATTRIBUTE_NAMES(JSON_PARSE('{"A": "A", "a": "a"}')); error: Invalid input code: 8001 context: SUPER value has duplicate attributes after case conversion.
프라이버시사이트 이용 약관쿠키 기본 설정
© 2025, Amazon Web Services, Inc. 또는 계열사. All rights reserved.