试图获取回历年的最后一天导致转换错误我的查询附加

Trying to get Last day of hijri year Resulting in conversion error My query attached

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

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

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.

希望得到您的建议谢谢

你可以试试这个

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