- 카테고리:
반정형 및 정형 데이터 함수 (형식 조건자)
IS_TIMESTAMP_*¶
VARIANT 인자에 해당 타임스탬프 값이 포함되어 있는지 확인합니다.
IS_TIMESTAMP_LTZ (현지 타임존이 있는 값).
IS_TIMESTAMP_NTZ (타임존이 없는 값).
IS_TIMESTAMP_TZ (타임존이 있는 값).
- 참고 항목:
구문¶
IS_TIMESTAMP_LTZ( <variant_expr> )
IS_TIMESTAMP_NTZ( <variant_expr> )
IS_TIMESTAMP_TZ( <variant_expr> )
인자¶
variant_expr
VARIANT 형식의 값으로 평가되는 식입니다.
반환¶
BOOLEAN 값 또는 NULL 을 반환합니다.
VARIANT 값에 타임스탬프가 포함된 경우 TRUE 를 반환합니다. 그렇지 않으면 FALSE를 반환합니다.
입력값이 NULL이면 오류를 보고하지 않고 NULL을 반환합니다.
예¶
모든 타임스탬프를 VARIANT 열에 표시하고 세션에 지정된 타임존을 사용하여 출력을 표시합니다.
참고
타임존의 출력 형식은 매개 변수를 사용하여 설정합니다.
TIMESTAMP_LTZ_OUTPUT_FORMAT 매개 변수는 TIMESTAMP_LTZ 값의 형식을 설정합니다.
TIMESTAMP_NTZ_OUTPUT_FORMAT 매개 변수는 TIMESTAMP_NTZ 값의 형식을 설정합니다.
TIMESTAMP_TZ_OUTPUT_FORMAT 매개 변수는 TIMESTAMP_TZ 값의 형식을 설정합니다.
이러한 예제에서 현지 타임존은 미국 태평양 표준시(GMT/UCT 기준 -08:00)입니다.
VARIANT 열에 다양한 날짜 및 시간 값이 포함된 테이블을 만들고 로드합니다.
CREATE OR REPLACE TABLE vardttm (v VARIANT);
INSERT INTO vardttm SELECT TO_VARIANT(TO_DATE('2024-02-24'));
INSERT INTO vardttm SELECT TO_VARIANT(TO_TIME('20:57:01.123456789+07:00'));
INSERT INTO vardttm SELECT TO_VARIANT(TO_TIMESTAMP('2023-02-24 12:00:00.456'));
INSERT INTO vardttm SELECT TO_VARIANT(TO_TIMESTAMP_LTZ('2022-02-24 13:00:00.123 +01:00'));
INSERT INTO vardttm SELECT TO_VARIANT(TO_TIMESTAMP_NTZ('2021-02-24 14:00:00.123 +01:00'));
INSERT INTO vardttm SELECT TO_VARIANT(TO_TIMESTAMP_TZ('2020-02-24 15:00:00.123 +01:00'));
쿼리에서 TYPEOF 함수를 사용하여 VARIANT 열 v
에 저장된 값의 데이터 타입을 표시합니다.
SELECT v, TYPEOF(v) AS type FROM vardttm;
+---------------------------------+---------------+
| V | TYPE |
|---------------------------------+---------------|
| "2024-02-24" | DATE |
| "20:57:01" | TIME |
| "2023-02-24 12:00:00.456" | TIMESTAMP_NTZ |
| "2022-02-24 04:00:00.123 -0800" | TIMESTAMP_LTZ |
| "2021-02-24 14:00:00.123" | TIMESTAMP_NTZ |
| "2020-02-24 15:00:00.123 +0100" | TIMESTAMP_TZ |
+---------------------------------+---------------+
WHERE 절에서 IS_TIMESTAMP_NTZ 함수를 사용하여 데이터에 TIMESTAMP_NTZ 값을 표시합니다.
SELECT * FROM vardttm WHERE IS_TIMESTAMP_NTZ(v);
+---------------------------+
| V |
|---------------------------|
| "2023-02-24 12:00:00.456" |
| "2021-02-24 14:00:00.123" |
+---------------------------+
WHERE 절에서 IS_TIMESTAMP_LTZ 함수를 사용하여 데이터에 TIMESTAMP_LTZ 값을 표시합니다.
SELECT * FROM vardttm WHERE IS_TIMESTAMP_LTZ(v);
+---------------------------------+
| V |
|---------------------------------|
| "2022-02-24 04:00:00.123 -0800" |
+---------------------------------+
WHERE 절에서 IS_TIMESTAMP_TZ 함수를 사용하여 데이터에 TIMESTAMP_TZ 값을 표시합니다.
SELECT * FROM vardttm WHERE IS_TIMESTAMP_TZ(v);
+---------------------------------+
| V |
|---------------------------------|
| "2020-02-24 15:00:00.123 +0100" |
+---------------------------------+