【问题标题】:Why this mismatch between Format & Convert SQl functions for Hijri Date :为什么 Hijri Date 的 Format & Convert SQl 函数之间不匹配:
【发布时间】:2018-02-08 08:14:29
【问题描述】:

在 SQL Server 2016 中:

Convert & 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。有什么选择吗?

【问题讨论】:

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


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2016-09-17
    • 2015-10-03
    • 1970-01-01
    • 2020-11-03
    • 1970-01-01
    • 2010-10-16
    • 1970-01-01
    • 2019-08-28
    • 2012-12-07
    相关资源
    最近更新 更多