为什么格式与格式之间存在这种不匹配转换Hijri日期的SQl函数:

时间:2018-02-08 08:14:29

标签: sql-server sql-server-2008-r2 sql-server-2016 date-formatting hijri

在SQl Server 2016中:

Convert& Hijri日期的Format给出了不同的结果。

Format函数的输出是正确的。

Declare @Date Datetime = '02/08/2018'
Select CONVERT(nchar, @Date, 131)   -- outputs 23/05/1439 12:00:00:000AM     
SELECT FORMAT ( @Date, 'dd/MM/yyyy', 'ar-SA' ) -- outputs 22/05/1439

我有两个问题:

1)为什么会出现这种差异?

2)如何在SQL Server 2008 R2中使用Format。还有其他选择吗?

1 个答案:

答案 0 :(得分:0)

1)并非所有gregorian-hijri转换器在网络上都显示相同的结果。例如,根据this结果为23/05/1439,但根据this结果为22/05/1439。同样,convertformat函数可能使用不同的转换算法。那只是我的猜测。

2)使用您认为正确的值创建自己的日历表