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

遗留系统10位数字转SQL DateTime结果不符,求正确转换方法

解决10位数字到SQL DateTime的正确转换

首先,根据你提供的示例(10位数字1419120000对应遗留系统UI的12/20/2022),核心问题是你当前使用的Unix时间戳基准(1970-01-01)和遗留系统的时间戳起始点不一致。

两种可行的转换方案

方案1:直接添加固定差值

通过计算已知示例的时间差,可得到需要补充的秒数:

  • 目标日期2022-12-20 00:00:00对应的标准Unix时间戳是1671484800
  • 两者差值为:1671484800 - 1419120000 = 252364800秒

转换SQL语句:

DATEADD(second, [your_timestamp_column] + 252364800, '1970-01-01')

方案2:使用遗留系统的时间戳起始点

通过已知的时间戳和对应日期,反推遗留系统的时间戳起始日期:

-- 计算起始日期
SELECT DATEADD(second, -1419120000, '2022-12-20') AS epoch_start;

执行后得到起始日期为1977-12-20 00:00:00.000,后续所有转换都使用这个起始点:

DATEADD(second, [your_timestamp_column], '1977-12-20')

验证建议

为确保方案通用,建议选取其他10位时间戳,对比遗留系统UI显示的日期和转换结果是否一致,确认起始点或差值的正确性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 07:05:20