0

我需要帮助才能使用 SQL Server 将 bigint 值转换为日期时间值。
示例值634254092190100000

如何转换为日期时间值?

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

将表达式转换为数据类型 int 的算术溢出错误

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

1 回答 1

2

请做:

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类型家庭...

于 2017-09-29T15:28:04.437 回答