首页 > 解决方案 > 将长 java 时间戳转换为 sqlserver 日期

问题描述

我有一个很长的 java 时间戳,例如 1576665088205。我需要转换为日期 sqlserver。我可以使用什么功能?

在甲骨文中我使用:

select to_date(to_char((SELECT TIMESTAMP '1970-01-01 00:00:00.000' + NUMTODSINTERVAL( "+time+" / 1000,'SECOND' )  FROM DUAL),'DD.MM.YYYY'),'DD-MM-YYYY') From dual 

在后期:

SELECT to_date( TO_CHAR (to_timestamp ("+time+" / 1000),'YYYYMMDD'),'YYYYMMDD')

在sqlserver中?谢谢

标签: sql-serverdateto-date

解决方案


如果您想使用 T-SQL 语法“翻译”您的语句,一种可能的方法是使用DATEADD()DATETIMEFROMPARTS()函数:

陈述:

SELECT CONVERT(
   date, 
   DATEADD(second, 1576665088205/1000, DATETIMEFROMPARTS(1970, 1, 1, 0, 0, 0, 0))
)

结果:

2019-12-18

推荐阅读