카테고리:

변환 함수

CAST , ::

한 데이터 타입의 값을 다른 데이터 타입으로 변환합니다. CAST의 의미 체계는 해당 TO_ datatype 변환 함수의 의미 체계와 동일합니다. 캐스트가 불가능한 경우, 오류가 발생합니다. 자세한 내용은 개별 TO_ datatype 변환 함수를 참조하십시오.

:: 연산자는 CAST에 대한 대체 구문을 제공합니다.

참고 항목:

TRY_CAST

구문

CAST( <source_expr> AS <target_data_type> )

<source_expr> :: <target_data_type>

인자

source_expr

다른 데이터 타입으로 변환할, 지원되는 모든 데이터 타입의 식입니다.

target_data_type

식을 변환할 데이터 타입입니다. 데이터 타입이 정밀도 및 스케일 (숫자/소수점의 경우)과 같은 추가 속성을 지원하는 경우, 속성이 포함될 수 있습니다.

사용법 노트

  • 스케일이 입력 값을 유지하기에 충분하지 않은 경우, 함수는 값을 반올림합니다.

  • 정밀도가 입력 값을 유지하기에 충분하지 않은 경우, 함수에서 오류가 발생합니다.

  • Parquet 파일로 데이터를 언로딩하는 동안 숫자 열이 정수 데이터 타입의 형식으로 명시적으로 캐스팅되면 Parquet 파일에서 이러한 열의 데이터 타입은 INT입니다. 자세한 내용은 명시적으로 숫자 열을 Parquet 데이터 타입으로 변환 섹션을 참조하십시오.

숫자가 포함된 문자열을 지정된 스케일(2)의 10진수로 변환합니다.

SELECT CAST('1.2345' AS DECIMAL(15,2));
+---------------------------------+
| CAST('1.2345' AS DECIMAL(15,2)) |
|---------------------------------|
|                            1.23 |
+---------------------------------+

:: 표기법을 사용하여 동일 문자열을 스케일 5의 10진수로 변환합니다.

SELECT '1.2345'::DECIMAL(15,5);
+-------------------------+
| '1.2345'::DECIMAL(15,5) |
|-------------------------|
|                 1.23450 |
+-------------------------+

숫자를 정수로 변환합니다.

SELECT CAST(1.56 AS INTEGER);
+-----------------------+
| CAST(1.56 AS INTEGER) |
|-----------------------|
|                     2 |
+-----------------------+

날짜가 포함된 문자열을 타임스탬프로 변환합니다.

SELECT CAST('05-Mar-2014' AS TIMESTAMP);
+----------------------------------+
| CAST('05-MAR-2014' AS TIMESTAMP) |
|----------------------------------|
| 2014-03-05 00:00:00.000          |
+----------------------------------+
맨 위로 이동