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

Synapse中字符串格式UTC时间戳转支持夏令时的EST时间实现方法

解决方案

Synapse Data Warehouse 内置支持带夏令时自动适配的时区转换功能,无需手动计算时差,按以下步骤操作即可:

步骤1:核心转换逻辑

使用AT TIME ZONE函数即可自动处理EST夏令时(DST)适配,该函数会自动调用系统内置的美国东部时区规则,无需手动维护夏令时起止时间:

  • 首先将字符串类型的UTC时间戳转换为datetime2类型
  • 声明该时间为UTC时区,再转换为美国东部标准时间(Eastern Standard Time)
  • 最终转换为datetime2类型存入目标字段

完整转换表达式如下:

CAST(
    TRY_CAST(last_update_utc AS datetime2) 
    AT TIME ZONE 'UTC' 
    AT TIME ZONE 'Eastern Standard Time' 
AS datetime2) AS last_update_est

步骤2:正式更新表结构和数据

  1. 新增last_update_est字段:
ALTER TABLE hub.test ADD last_update_est datetime2 NULL;
  1. 批量更新字段值:
UPDATE hub.test
SET last_update_est = CAST(
    TRY_CAST(last_update_utc AS datetime2) 
    AT TIME ZONE 'UTC' 
    AT TIME ZONE 'Eastern Standard Time' 
AS datetime2);

效果验证

用你提供的示例数据测试,输出结果完全匹配需求:

idlast_update_utc (string)转换后last_update_est
12020-02-28T17:26:47.483698Z2020-02-28 12:26:47.4836980
22021-09-03T22:59:19.093Z2021-09-03 18:59:19.0930000

注意事项

  • 若存在格式不合法的last_update_utc字符串,TRY_CAST会返回NULL,不会触发整个更新语句报错
  • 时区名称Eastern Standard Time是Synapse内置的标准时区标识,已包含夏令时自动切换规则,无需额外调整

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 16:45:05