

 Amazon Redshift는 패치 198부터 새 Python UDF 생성을 더 이상 지원하지 않습니다. 기존 Python UDF는 2026년 6월 30일까지 계속 작동합니다. 자세한 내용은 [블로그 게시물](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)을 참조하세요.

# UPPER\_ATTRIBUTE\_NAMES 함수
<a name="r_upper_attribute_names"></a>

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

 SUPER 속성 이름을 소문자로 변환하려면 [LOWER\_ATTRIBUTE\_NAMES 함수](r_lower_attribute_names.md)를 사용합니다.

## 구문
<a name="r_upper_attribute_names-synopsis"></a>

```
UPPER_ATTRIBUTE_NAMES( super_expression )
```

## 인수
<a name="r_upper_attribute_names-arguments"></a>

*super\_expression*  
SUPER 표현식입니다.

## 반환 타입
<a name="r_upper_attribute_names-return-type"></a>

`SUPER`

## 예제
<a name="r_upper_attribute_names_examples"></a>

**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.
```