

 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/)을 참조하세요.

# COLLATE 함수
<a name="r_COLLATE"></a>

COLLATE 함수는 문자열 열 또는 표현식의 데이터 정렬을 재정의합니다.

데이터베이스 데이터 정렬을 사용하여 테이블을 생성하는 방법에 대한 자세한 내용은 [CREATE TABLE](r_CREATE_TABLE_NEW.md) 섹션을 참조하세요.

데이터베이스 데이터 정렬을 사용하여 데이터베이스를 생성하는 방법에 대한 자세한 내용은 [데이터베이스 생성](r_CREATE_DATABASE.md) 섹션을 참조하세요.

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

```
COLLATE( string, 'case_sensitive' | 'cs' | 'case_insensitive' | 'ci');
```

## 인수
<a name="r_COLLATE-argument"></a>

 *문자열*()   
재정의하려는 문자열 열 또는 표현식입니다.

 *'case\$1sensitive'* \$1 *'cs'* \$1 *'case\$1insensitive'* \$1 *'ci'*  
데이터 정렬 이름의 문자열 상수입니다. Amazon Redshift는 이 파라미터에 다음 값만 지원합니다.  
+  *case\$1sensitive* 
+  *cs* 
+  *case\$1insensitive* 
+  *ci* 
*case\$1sensitive*와 *cs*는 서로 바꿔 사용할 수 있으며 동일한 결과를 냅니다. 마찬가지로 *case\$1insensitive*와 *ci*는 서로 바꿔 사용할 수 있으며 동일한 결과를 냅니다.

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

COLLATE 함수는 첫 번째 입력 표현식 형식에 따라 `VARCHAR`, `CHAR` 또는 `SUPER`를 반환합니다. 이 함수는 첫 번째 입력 인수의 데이터 정렬만 변경하고 출력 값은 변경하지 않습니다.

## 예제
<a name="r_COLLATE-example"></a>

T 테이블을 만들고 T 테이블의 col1을 `case_sensitive`로 정의하려면 다음 예제를 사용합니다

```
CREATE TABLE T ( col1 Varchar(20) COLLATE case_sensitive );

INSERT INTO T VALUES ('john'),('JOHN');
```

 첫 번째 쿼리를 실행하면 Amazon Redshift는 `john`만 반환합니다. COLLATE 함수가 col1에서 실행되면 데이터 정렬이 `case_insensitive`가 됩니다. 두 번째 쿼리는 `john`과 `JOHN`을 모두 반환합니다.

```
SELECT * FROM T WHERE col1 = 'john';

+------+
| col1 |
+------+
| john |
+------+

SELECT * FROM T WHERE COLLATE(col1, 'case_insensitive') = 'john';

+------+
| col1 |
+------+
| john |
| JOHN |
+------+
```

A 테이블을 만들고 A 테이블의 col1을 `case_insensitive`로 정의하려면 다음 예제를 사용합니다

```
CREATE TABLE A ( col1 Varchar(20) COLLATE case_insensitive );

INSERT INTO A VALUES ('john'),('JOHN');
```

 첫 번째 쿼리를 실행하면 Amazon Redshift는 `john`과 `JOHN`을 모두 반환합니다. COLLATE 함수가 col1에서 실행되면 데이터 정렬이 `case_sensitive`가 됩니다. 두 번째 쿼리는 `john`만 반환합니다.

```
SELECT * FROM A WHERE col1 = 'john';

+------+
| col1 |
+------+
| john |
| JOHN |
+------+

SELECT * FROM A WHERE COLLATE(col1, 'case_sensitive') = 'john';

+------+
| col1 |
+------+
| john |
+------+
```