Blu*_*ers 3 postgresql datetime type-conversion
我从Microsoft SQL Server数据库中获取以下日期/时间值:
0x00009CEF00A25634
Run Code Online (Sandbox Code Playgroud)
我发现这篇文章: 帮我翻译长值,用十六进制表示,回到日期/时间
这似乎是在正确的轨道,但通过使用我没有得到正确日期的代码,我的十六进制日期是不同的格式?如何将它们转换为正常日期,我正在使用PHP/PostgreSQL.
select CAST (0x00009CEF00A25634 as datetime) 给 2009-12-30 09:51:03.000
这是两个整数.一个用于日期部分0x00009CEF(十进制40175),一个用于时间部分00A25634(十进制10638900).日期部分是一个有符号整数,给出自1900年1月1日以来的天数.时间部分是一个表示刻度数的整数.
一秒钟内有300个滴答声.
可以看出,以下内容也返回相同的结果
SELECT DATEADD(MILLISECOND,10638900*10/3.0, DATEADD(DAY,40175, '19000101'))
Run Code Online (Sandbox Code Playgroud)
您需要弄清楚如何应用它postgres.
编辑:这里的答案 显然是这样做的.我自己没有测试过.