- 类别:
半结构化和结构化数据函数 (类型谓词)
IS_TIMESTAMP_*¶
验证 VARIANT 值是否包含相应的 TIMESTAMP 值:
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 类型的值。
示例¶
在 VARIANT 列中显示所有 TIMESTAMP_* 值,输出使用为会话指定的时区。
备注
时区的输出格式会使用参数进行设置:
TIMESTAMP_LTZ_OUTPUT_FORMAT 参数为 TIMESTAMP_LTZ 值设置格式。
TIMESTAMP_NTZ_OUTPUT_FORMAT 参数为 TIMESTAMP_NTZ 值设置格式。
TIMESTAMP_TZ_OUTPUT_FORMAT 参数为 TIMESTAMP_TZ 值设置格式。
在这些示例中,本地时区为 US 太平洋标准时间(相对于 GMT/UCT 为 -08:00)。
创建并加载表:
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'));
显示数据中的 TIMESTAMP 值:
SELECT * FROM vardttm WHERE IS_TIMESTAMP_NTZ(v);
+---------------------------+
| V |
|---------------------------|
| "2023-02-24 12:00:00.456" |
| "2021-02-24 14:00:00.123" |
+---------------------------+
SELECT * FROM vardttm WHERE IS_TIMESTAMP_LTZ(v);
+---------------------------------+
| V |
|---------------------------------|
| "2022-02-24 04:00:00.123 -0800" |
+---------------------------------+
SELECT * FROM vardttm WHERE IS_TIMESTAMP_TZ(v);
+---------------------------------+
| V |
|---------------------------------|
| "2020-02-24 15:00:00.123 +0100" |
+---------------------------------+