0

我正在尝试获取回历日历的最后一天,

首先我定义我的查询和逻辑,这个查询获取我的回历日期。

SELECT top 1 convert(date,dateHijri,103) , datepart(year,try_convert(date,dateHijri,103))
from Item

它给了我结果,

1440-07-19 , 1440

此查询获取格鲁吉亚日历的最后日期,

 select top 1 DATEADD(MILLISECOND, -3,DATEADD(YEAR, DATEDIFF(YEAR, 0, GETDATE()) + 1, 0)) 'Last Day of Georgian Year'

Result :  2018-12-31 23:59:59.997

现在,我试图获得回历年最后一天的最后一个查询尝试合并第一个和第二个查询,

select top 1 DATEADD(MILLISECOND, -3,DATEADD(YEAR, DATEDIFF(YEAR, 0, convert(date,dateHijri,103)) + 1, 0)) as 'Last Day of Hijri Year'  from Item 

Error:The conversion of a date data type to a datetime data type resulted in an out-of-range value.

希望你的建议谢谢

4

1 回答 1

1

你可以试试这个

select top 1 DATEADD(MILLISECOND, -3, CONVERT(DATETIME, CONVERT(VARCHAR(4), YEAR(convert(date,dateHijri,103)) + 1)+'0101', 131)) as 'Last Day of Hijri Year'  from Item 
于 2018-05-30T01:20:40.140 回答