Почему это несоответствие между функциями Format & Convert SQl для Hijri Date:
В 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) Как я могу использовать Format
в SQL Server 2008 R2. Любая альтернатива?
1 ответ
1) Не все конвертеры григорианского хиджры показывают одинаковый результат в сети. Например, согласно этому результату 23/05/1439
, но в соответствии с этим результатом 22/05/1439
, Таким же образом convert
а также format
функции могут использовать разные алгоритмы преобразования. Это только мое предположение.
2) Создайте собственную таблицу календаря со значениями, которые вы считаете правильными