IS_DATE , IS_DATE_VALUE
IS_DATE , IS_DATE_VALUE
IS_DATE(또는 IS_DATE_VALUE)는 VARIANT 인자가 DATE 값을 포함하면 TRUE를 반환하는 타입 조건 함수예요. IS_DATE와 IS_DATE_VALUE는 같은 함수예요.
본문
카테고리: 반자 구조·정형 데이터 함수 (Type Predicates)
구문 (Syntax)
IS_DATE( <variant_expr> )
IS_DATE_VALUE( <variant_expr> )
인자 (Arguments)
<variant_expr> — VARIANT 타입의 값으로 평가되는 표현식이에요.
반환값 (Returns)
BOOLEAN 값 또는 NULL을 반환해요.
- VARIANT 값이 DATE 값을 포함하면 TRUE, 그렇지 않으면 FALSE를 반환해요.
- 입력이 NULL이면 오류를 보고하지 않고 NULL을 반환해요.
예시 (Examples)
VARIANT 열에서 모든 DATE 값을 반환해요.
참고: 날짜 값의 출력 형식은 DATE_OUTPUT_FORMAT 파라미터로 설정돼요. 기본 설정은 YYYY-MM-DD예요.
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_DATE 함수를 사용해 데이터의 DATE 값을 보여줘요. 출력에는 DATE 값만 반환되고, TIME과 TIMESTAMP 값은 반환되지 않아요.
SELECT v FROM vardttm WHERE IS_DATE(v);
+--------------+
| V |
|--------------|
| "2024-02-24" |
+--------------+