예
VARIANT 열에 있는 모든 TIME 값을 반환합니다.
VARIANT 열에 다양한 날짜 및 TIME 값이 포함된 테이블을 만들고 로드합니다.
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_TIME 함수를 사용하여 데이터에 TIME 값을 표시합니다. 출력에는 TIME 값만 반환됩니다. DATE 및 TIMESTAMP 값은 반환되지 않습니다.
SELECT v FROM vardttm WHERE IS_TIME(v);
+------------+
| V |
|------------|
| "20:57:01" |
+------------+