将儒略日期 CYYDDD 转换为 DD/MM/YYYY
Convert Julian Date CYYDDD to DD/MM/YYYY
我在 SQL 服务器的 table 中有一列以 Julian 格式 (CYYDDD) 存储日期。我是 运行 一个 select SQL 并且想将日期格式转换为 DD/MM/YYYY.
尝试了几次 SQL 格式转换,但其中 none 给出了正确的输出
DATEADD(dd, (@jdate - ((@jdate/1000) * 1000)) - 1, dateadd(yy, @jdate/1000, 0))
DATEADD(year, XHUPMJ / 1000, 0) + DATEADD(day, XHUPMJ % 1000, 0) - 1
希望看到 DD/MM/YYYY 格式的日期输出,后面没有任何 0
我在列中有一个儒略日期值 115351
,我希望它转换为 17/12/2015
这个答案是你想要的吗?
SELECT DATEADD(day, CAST(RIGHT(Variable,3) AS int) / 1, CONVERT(datetime,LEFT(Variable,2) + '0101', 103))
我从这个 site 中找到了示例代码,用于将儒略日期转换为 DD/MM/YYYY 格式
DECLARE @Sample AS VARCHAR(6) = '115351'
SELECT CONVERT(VARCHAR(10), DATEADD(DAY, CONVERT(INT, @Sample) - ((1000*(CONVERT(INT, @Sample)/1000)))-1, DATEADD(YEAR, CONVERT(INT, @Sample/1000), '1 Jan 1900')), 103) AS Result
它将转换 2015 年的第 351 天,因此结果将是 17/12/2015
更新:
As ,使用%
取模运算符,上面的查询可以简化为
DECLARE @Sample AS VARCHAR(6) = '115351'
SELECT CONVERT(VARCHAR(10), DATEADD(DAY, CONVERT(INT, @Sample) % 1000 -1, DATEADD(YEAR, CONVERT(INT, @Sample/1000), '1 Jan 1900')), 103) AS Result
我在 SQL 服务器的 table 中有一列以 Julian 格式 (CYYDDD) 存储日期。我是 运行 一个 select SQL 并且想将日期格式转换为 DD/MM/YYYY.
尝试了几次 SQL 格式转换,但其中 none 给出了正确的输出
DATEADD(dd, (@jdate - ((@jdate/1000) * 1000)) - 1, dateadd(yy, @jdate/1000, 0))
DATEADD(year, XHUPMJ / 1000, 0) + DATEADD(day, XHUPMJ % 1000, 0) - 1
希望看到 DD/MM/YYYY 格式的日期输出,后面没有任何 0
我在列中有一个儒略日期值 115351
,我希望它转换为 17/12/2015
这个答案是你想要的吗?
SELECT DATEADD(day, CAST(RIGHT(Variable,3) AS int) / 1, CONVERT(datetime,LEFT(Variable,2) + '0101', 103))
我从这个 site 中找到了示例代码,用于将儒略日期转换为 DD/MM/YYYY 格式
DECLARE @Sample AS VARCHAR(6) = '115351'
SELECT CONVERT(VARCHAR(10), DATEADD(DAY, CONVERT(INT, @Sample) - ((1000*(CONVERT(INT, @Sample)/1000)))-1, DATEADD(YEAR, CONVERT(INT, @Sample/1000), '1 Jan 1900')), 103) AS Result
它将转换 2015 年的第 351 天,因此结果将是 17/12/2015
更新:
As %
取模运算符,上面的查询可以简化为
DECLARE @Sample AS VARCHAR(6) = '115351'
SELECT CONVERT(VARCHAR(10), DATEADD(DAY, CONVERT(INT, @Sample) % 1000 -1, DATEADD(YEAR, CONVERT(INT, @Sample/1000), '1 Jan 1900')), 103) AS Result