SQL Server日期转换比实际日期晚68年
我想将整数转换为日期格式。我正在使用以下脚本:SQL Server日期转换比实际日期晚68年,sql,sql-server,date,Sql,Sql Server,Date,我想将整数转换为日期格式。我正在使用以下脚本: SELECT CAST(7549 as datetime) 它还给我一个日期1920-09-02 然而,7549实际日期是1988-08-31 有谁能帮我做正确的映射吗?请看背面 DECLARE @YourDate AS Datetime SET @YourDate = '1920-09-02' SELECT CAST(@YourDate AS INT) --7549 SET @YourDate = '1988-08-31' SELECT C
SELECT CAST(7549 as datetime)
它还给我一个日期1920-09-02
然而,7549实际日期是1988-08-31
有谁能帮我做正确的映射吗?请看背面
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
如果希望结果为“1988-08-31 00:00:00.000”,请尝试使用以下脚本
SELECT CAST(7549 as datetime)-CAST('1832-01-03' as datetime)
或
最佳方法取决于您的DBMS;请更新您的问题标签,以指示这是否是PostgreSQL、Oracle、MySQL、SQLServer等。从那里你发现7549的实际日期是1988-08-31?!?7549实际上是1920-09-02。你怎么能说7549实际上是1988-08-31?那么选择DATEADDd,24835,CAST7549作为datetime呢?SQL Server中的0是1900-01-01。与之前使用的SQL版本不同,它似乎是1967-12-31。请尝试DATEADDDAY、7549、'1967-12-31'或在此处替换任何INT。编辑:仅供参考,将INT转换为datetime会将天数添加到0,在SQL Server中为1900-01-01。这对我来说不是正确的解决办法。我不确定CAST是否是用于我的任务的正确功能我没有给您提供解决方案:
SELECT CAST(7549 as datetime)+CAST(24835 as datetime)