Amazon QLDB의 CAST 함수 - Amazon Quantum Ledger Database(QLDB)

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Amazon QLDB의 CAST 함수

Amazon QLDB에서는 CAST 함수를 사용하여 주어진 표현식을 값으로 평가하고 값을 지정된 대상 데이터 타입으로 변환합니다. 변환할 수 없는 경우 함수는 오류를 반환합니다.

조건

CAST ( expression AS type )

인수

표현식

함수가 변환하는 값으로 평가되는 파일 명칭 또는 표현식입니다. null 값을 변환하면 마찬가지로 null이 반환됩니다. 이 파라미터는 지원되는 데이터 유형 중 하나일 수 있습니다.

타입

변환할 대상 데이터 타입의 명칭입니다. 이 파라미터는 지원되는 데이터 유형 중 하나일 수 있습니다.

반환 타입

type 인수에 의해 지정된 데이터 타입.

다음 예는 알 수 없는 타입(NULL 또는MISSING)의 전파를 보여줍니다.

CAST(null AS null) -- null CAST(missing AS null) -- null CAST(missing AS missing) -- missing CAST(null AS missing) -- missing CAST(null AS boolean) -- null (null AS any data type name results in null) CAST(missing AS boolean) -- missing (missing AS any data type name results in missing)

알 수 없는 형식이 아닌 값은 NULL 또는 MISSING로 캐스팅할 수 없습니다.

CAST(true AS null) -- error CAST(true AS missing) -- error CAST(1 AS null) -- error CAST(1 AS missing) -- error

다음 예는 캐스팅 AS boolean을 보여줍니다.

CAST(true AS boolean) -- true no-op CAST(0 AS boolean) -- false CAST(1 AS boolean) -- true CAST(`1e0` AS boolean) -- true (float) CAST(`1d0` AS boolean) -- true (decimal) CAST('a' AS boolean) -- false CAST('true' AS boolean) -- true (SqlName string 'true') CAST(`'true'` AS boolean) -- true (Ion symbol `'true'`) CAST(`'false'` AS boolean) -- false (Ion symbol `'false'`)

다음 예는 캐스팅 AS integer을 보여줍니다.

CAST(true AS integer) -- 1 CAST(false AS integer) -- 0 CAST(1 AS integer) -- 1 CAST(`1d0` AS integer) -- 1 CAST(`1d3` AS integer) -- 1000 CAST(1.00 AS integer) -- 1 CAST(1.45 AS integer) -- 1 CAST(1.75 AS integer) -- 1 CAST('12' AS integer) -- 12 CAST('aa' AS integer) -- error CAST(`'22'` AS integer) -- 22 CAST(`'x'` AS integer) -- error

다음 예는 캐스팅 AS float을 보여줍니다.

CAST(true AS float) -- 1e0 CAST(false AS float) -- 0e0 CAST(1 AS float) -- 1e0 CAST(`1d0` AS float) -- 1e0 CAST(`1d3` AS float) -- 1000e0 CAST(1.00 AS float) -- 1e0 CAST('12' AS float) -- 12e0 CAST('aa' AS float) -- error CAST(`'22'` AS float) -- 22e0 CAST(`'x'` AS float) -- error

다음 예는 캐스팅 AS decimal을 보여줍니다.

CAST(true AS decimal) -- 1. CAST(false AS decimal) -- 0. CAST(1 AS decimal) -- 1. CAST(`1d0` AS decimal) -- 1. (REPL printer serialized to 1.) CAST(`1d3` AS decimal) -- 1d3 CAST(1.00 AS decimal) -- 1.00 CAST('12' AS decimal) -- 12. CAST('aa' AS decimal) -- error CAST(`'22'` AS decimal) -- 22. CAST(`'x'` AS decimal) -- error

다음 예는 캐스팅 AS timestamp을 보여줍니다.

CAST(`2001T` AS timestamp) -- 2001T CAST('2001-01-01T' AS timestamp) -- 2001-01-01T CAST(`'2010-01-01T00:00:00.000Z'` AS timestamp) -- 2010-01-01T00:00:00.000Z CAST(true AS timestamp) -- error CAST(2001 AS timestamp) -- error

다음 예는 캐스팅 AS symbol을 보여줍니다.

CAST(`'xx'` AS symbol) -- xx (`'xx'` is an Ion symbol) CAST('xx' AS symbol) -- xx ('xx' is a string) CAST(42 AS symbol) -- '42' CAST(`1e0` AS symbol) -- '1.0' CAST(`1d0` AS symbol) -- '1' CAST(true AS symbol) -- 'true' CAST(false AS symbol) -- 'false' CAST(`2001T` AS symbol) -- '2001T' CAST(`2001-01-01T00:00:00.000Z` AS symbol) -- '2001-01-01T00:00:00.000Z'

다음 예는 캐스팅 AS string을 보여줍니다.

CAST(`'xx'` AS string) -- "xx" (`'xx'` is an Ion symbol) CAST('xx' AS string) -- "xx" ('xx' is a string) CAST(42 AS string) -- "42" CAST(`1e0` AS string) -- "1.0" CAST(`1d0` AS string) -- "1" CAST(true AS string) -- "true" CAST(false AS string) -- "false" CAST(`2001T` AS string) -- "2001T" CAST(`2001-01-01T00:00:00.000Z` AS string) -- "2001-01-01T00:00:00.000Z"

다음 예는 캐스팅 AS struct을 보여줍니다.

CAST(`{ a: 1 }` AS struct) -- {a:1} CAST(true AS struct) -- err

다음 예는 캐스팅 AS list을 보여줍니다.

CAST(`[1, 2, 3]` AS list) -- [1,2,3] CAST(<<'a', { 'b':2 }>> AS list) -- ["a",{'b':2}] CAST({ 'b':2 } AS list) -- error

다음 예는 이전 예 중 일부를 포함하는 실행 가능한 명령문입니다.

SELECT CAST(true AS integer) FROM << 0 >> -- 1 SELECT CAST('2001-01-01T' AS timestamp) FROM << 0 >> -- 2001-01-01T SELECT CAST('xx' AS symbol) FROM << 0 >> -- xx SELECT CAST(42 AS string) FROM << 0 >> -- "42"

관련 함수