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

使用Pro2同步Progress至SQL Server时的日期时间转换问题

解析Pro2同步的Progress datetime转int32值

根据你提供的样本数据,这些int32值是从1979-09-19 00:00:00开始累计的秒数,可以通过SQL Server的DATEADD函数转换为datetime类型。

验证样本值

  • 对于966188916:
    SELECT CAST(DATEADD(ss, 966188916, '1979-09-19') AS DATETIME)
    -- 结果:2010-04-12 01:48:36,与你给出的近似日期匹配
    
  • 对于1091012202:
    SELECT CAST(DATEADD(ss, 1091012202, '1979-09-19') AS DATETIME)
    -- 结果:2014-07-28 01:52:42,与你给出的近似日期匹配
    

批量转换代码

如果需要批量转换整列数据,可以使用:

SELECT 
  your_int_column,
  CAST(DATEADD(ss, your_int_column, '1979-09-19') AS DATETIME) AS converted_datetime
FROM your_table

补充说明

这个起始日期1979-09-19是通过样本值反向推导得出的,大概率是Pro2同步工具在转换Progress datetime类型时使用的自定义基准(Progress官方文档未明确说明的内部转换规则)。你的时间列用秒数转time的逻辑也符合这一规则——本质都是基于秒数的偏移计算。

内容的提问来源于stack exchange,提问作者Michael O'Flaherty

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 02:55:20