SQL Server日期转换比实际日期晚了68年

时间:2016-09-28 05:41:17

标签: sql sql-server date

我想将integer转换为date格式。我使用以下脚本:

SELECT CAST(7549 as datetime)

它返回一个日期1920-09-02

但是,7549实际日期为1988-08-31

任何人都可以帮我解释如何执行正确的映射吗?

2 个答案:

答案 0 :(得分:1)

见反面

DECLARE @YourDate AS Datetime

SET @YourDate = '1920-09-02'
SELECT CAST(@YourDate AS INT) --7549

SET @YourDate = '1988-08-31'
SELECT CAST(@YourDate AS INT) -- 32384

答案 1 :(得分:0)

如果您希望结果为“1988-08-31 00:00:00.000”,请尝试使用以下脚本。

SELECT CAST(7549 as datetime)-CAST('1832-01-03' as datetime)

OR

SELECT CAST(7549 as datetime)+CAST(24835 as datetime)