카테고리:

반정형 및 정형 데이터 함수 (형식 조건자)

IS_TIMESTAMP_*

VARIANT 인자에 해당 타임스탬프 값이 포함되어 있는지 확인합니다.

  • IS_TIMESTAMP_LTZ (현지 타임존이 있는 값).

  • IS_TIMESTAMP_NTZ (타임존이 없는 값).

  • IS_TIMESTAMP_TZ (타임존이 있는 값).

참고 항목:

IS_<오브젝트_유형_> , IS_DATE , IS_DATE_VALUE , IS_TIME

구문

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 열에 표시하고 세션에 지정된 타임존을 사용하여 출력을 표시합니다.

참고

타임존의 출력 형식은 매개 변수를 사용하여 설정합니다.

이러한 예제에서 현지 타임존은 미국 태평양 표준시(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" |
+---------------------------------+