You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Snowflake中将日期格式转换为Zulu(ISO 8601)格式?

Snowflake 日期转Zulu(ISO 8601)格式方法

要将2022-03-17这类日期转换为2022-03-17T00:00:00Z格式,核心是先将日期转换为UTC时区的时间戳,再通过格式化函数输出指定格式的字符串,具体实现如下:

基础示例(处理单个日期值)

SELECT TO_VARCHAR(
    TO_TIMESTAMP_TZ('2022-03-17', 'YYYY-MM-DD') AT TIME ZONE 'UTC',
    'YYYY-MM-DD"T"HH24:MI:SS"Z"'
) AS zulu_format;

执行后会输出:2022-03-17T00:00:00Z

处理表中日期字段

如果要处理表中的DATE类型字段(比如date_column),可以用以下语句:

SELECT TO_VARCHAR(
    TO_TIMESTAMP_TZ(date_column) AT TIME ZONE 'UTC',
    'YYYY-MM-DD"T"HH24:MI:SS"Z"'
) AS zulu_format
FROM your_table_name;

替代写法(使用CONVERT_TIMEZONE)

也可以用CONVERT_TIMEZONE函数完成时区转换,效果一致:

SELECT TO_VARCHAR(
    CONVERT_TIMEZONE('UTC', TO_TIMESTAMP_TZ('2022-03-17')),
    'YYYY-MM-DD"T"HH24:MI:SS"Z"'
) AS zulu_format;

关键说明

  • TO_TIMESTAMP_TZ(date_value):将日期转换为带时区的时间戳(默认使用会话时区,因此需要后续转UTC)
  • AT TIME ZONE 'UTC' / CONVERT_TIMEZONE('UTC', ...):将时间戳转换为UTC时区
  • TO_VARCHAR(..., 'YYYY-MM-DD"T"HH24:MI:SS"Z"'):按照目标格式输出字符串,其中"T"和"Z"是固定字符,需用双引号包裹转义

内容的提问来源于stack exchange,提问作者AppuSalamanca

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 15:33:14