- 类别:
半结构化和结构化数据函数 (类型谓词)
IS_TIME¶
语法¶
IS_TIME( <variant_expr> )
实参¶
variant_expr
VARIANT 类型值计算的表达式。
返回¶
返回 BOOLEAN 值或 NULL。
如果 VARIANT 值包含 TIME 值,则返回 TRUE。否则返回 FALSE。
如果输入为 NULL,则返回 NULL,不报错。
示例¶
返回 VARIANT 列中的所有 TIME 值。
备注
使用 TIME_OUTPUT_FORMAT 参数设置 TIME 值的输出格式。默认设置为 HH24:MI:SS
。
在 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" |
+------------+