如何将数字转换为日期时间

How to convert numeric number into datatime

我需要帮助使用 SQL 服务器将 bigint 值转换为日期时间值。
示例值 634254092190100000

如何转换为日期时间值?

到目前为止,这是我所拥有的,但出现错误:

Arithmetic overflow error converting expression to data type int

select dateadd(s, convert(bigint, 632979854880200000) / 1000, convert(datetime, '1-1-1970 00:00:00'))

请做:

SELECT CAST((YOURVALUE- 599266080000000000) / 864000000000 AS datetime)

例如:

SELECT CAST((635307578922100000 - 599266080000000000) / 864000000000 AS datetime)

给予"2014-03-18 16:44:52"

知道 :
- 599266080000000000 是 19000101
- 864000000000 是毫秒数/天
- 599266080000000000 / 864000000000 = 693595 /365 = 1900(大约)

有关每个日期时间类型系列的开始日期的更多详细信息,请参阅https://docs.microsoft.com/fr-fr/sql/t-sql/functions/date-and-time-data-types-and-functions-transact-sql...