繁体   English   中英

将 Julian 日期转换为 sql server 中的日期

[英]Convert julian date to date in sql server

我想将朱利安日期转换为日期格式。 下面,请找到一个示例来创建我的错误。 我所有的日期都有需要转换的 5 位数字。

create table #test (dateR int)

insert into #test (dateR)
values (39596),(39596),(39595),(39595),(39593),(39592),(39592),(39589),(38104),(38104),(37957)

SELECT * from #test

select *
    , dateadd (year, dateR/1000 - 1900, dateR %1000 - 1) as Rd
from #test

得到错误:

消息 517,级别 16,状态 1,第 2 行 向“日期时间”列添加值导致溢出。

还试过:

SELECT DATEADD(dd, CONVERT(int, RIGHT(dateR,3)) - 1, CONVERT(datetime,SUBSTRING(dateR,1,2)+'0101', 212))

这将返回:

Msg 8116 level 16 state 1 line 1 nullArgument 数据类型int对于子串函数的参数无效

您可以将INT值转换为DATETIME

例如:

SELECT CAST(39596 AS DATETIME); -- Returns 2008-05-30 00:00:00.000

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM