

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

# CONVERT 함수
<a name="r_CONVERT_function"></a>

[CAST 함수](https://docs.aws.amazon.com/redshift/latest/dg/r_CAST_function.html)와 마찬가지로 CONVERT 함수는 한 데이터 유형을 호환되는 다른 데이터 유형으로 변환합니다. 예를 들어 문자열을 날짜로 변환하거나 숫자 형식을 문자열로 변환할 수 있습니다. CONVERT는 런타임 변환을 수행합니다. 즉, 변환을 수행해도 원본 테이블의 값 데이터 유형은 변경되지 않습니다. 쿼리의 컨텍스트에서만 변경됩니다.

CONVERT 함수를 사용하여 다른 데이터 유형으로 명시적인 변환이 필요한 데이터 유형이 몇 가지 있습니다. 그 밖에 CAST 또는 CONVERT를 사용하지 않고 다른 명령의 일부로서 묵시적으로 변환할 수 있는 데이터 형식들도 있습니다. [형식 호환성 및 변환](c_Supported_data_types.md#r_Type_conversion)을(를) 참조하세요.

## 구문
<a name="r_CONVERT-syntax"></a>

```
CONVERT ( type, expression )
```

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

 *\$1type*   
지원되는 [데이터 타입](c_Supported_data_types.md) 중 한 가지입니다.

 * expression*   
열 이름이나 리터럴 같이 하나 이상의 값으로 평가되는 표현식입니다. null 값을 변환하면 마찬가지로 null이 반환됩니다. 또한 표현식에는 공백이나 빈 문자열이 포함되어서도 안 됩니다.

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

CONVERT는 *type* 인수에서 지정하는 데이터 형식을 반환합니다.

**참고**  
다음과 같이 문제가 발생할 수 있는 변환을 실행하면 Amazon Redshift가 오류를 반환합니다. 첫째, 정밀도를 떨어뜨리는 DECIMAL 변환입니다.  

```
SELECT CONVERT(decimal(2,1), 123.456);
```
둘째, 오버플로우를 야기하는 INTEGER 변환입니다.  

```
SELECT CONVERT(smallint, 12345678);
```

## 예제
<a name="r_CONVERT-examples"></a>

이 안내서에 나오는 예는 대부분 샘플 [TICKIT 데이터베이스](https://docs.aws.amazon.com/redshift/latest/dg/c_sampledb.html)를 사용합니다. 샘플 데이터 설정에 관한 자세한 내용은 [데이터 로드](https://docs.aws.amazon.com/redshift/latest/gsg/cm-dev-t-load-sample-data.html) 섹션을 참조하세요.

다음 쿼리는 CONVERT 함수를 사용하여 십진수 열을 정수로 변환합니다.

```
SELECT CONVERT(integer, pricepaid)
FROM sales WHERE salesid=100;
```

이 예제에서는 정수를 문자열로 변환합니다.

```
SELECT CONVERT(char(4), 2008);
```

이 예에서는 현재 날짜 및 시간이 가변 문자 데이터 유형으로 변환됩니다.

```
SELECT CONVERT(VARCHAR(30), GETDATE());

getdate
---------
2023-02-02 04:31:16
```

이 예제에서는 saletime 열을 시간만 있는 값으로 변환하고 각 행에서 날짜를 제거합니다.

```
SELECT CONVERT(time, saletime), salesid
FROM sales order by salesid limit 10;
```

한 시간대에서 다른 시간대로 타임스탬프를 변환하는 방법에 대한 자세한 내용은 [CONVERT\$1TIMEZONE 함수](CONVERT_TIMEZONE.md) 섹션을 참조하세요. 추가 날짜 및 시간 함수는 [날짜 및 시간 함수](Date_functions_header.md) 섹션을 참조하세요.

다음 예제에서는 가변 문자 데이터를 datetime 객체로 변환합니다.

```
SELECT CONVERT(datetime, '2008-02-18 02:36:48') as mysaletime;
```

**참고**  
`GEOMETRY` 데이터 형식에 대해 CAST 또는 CONVERT 작업을 수행하여 다른 데이터 형식으로 변경할 수 없습니다. 그러나 `GEOMETRY` 인수를 허용하는 함수에 대한 입력으로 EWKB(Extended Well-Known Binary) 형식으로 문자열 리터럴의 16진수 표현을 제공할 수 있습니다. 예를 들어, `ST_AsText` 함수는 `GEOMETRY` 데이터 형식을 사용합니다.  

```
SELECT ST_AsText('01010000000000000000001C400000000000002040');
```

```
st_astext  
------------
 POINT(7 8)
```
`GEOMETRY` 데이터 형식을 명시적으로 지정할 수도 있습니다.  

```
SELECT ST_AsText('010100000000000000000014400000000000001840'::geometry);
```

```
st_astext  
------------
 POINT(5 6)
```