SQL ФОРМАТ сервера с параметром культуры не работает - PullRequest
0 голосов
/ 08 февраля 2020

Я использую SQL Server 2017 и пытаюсь использовать культуру в функции Format. При выполнении этого запроса на сервере результат неверный:

SELECT @@VERSION --> Microsoft SQL Server 2017 (RTM-CU17) (KB4515579) - 14.0.3238.1 (X64)   Sep 13 2019 15:49:57   Copyright (C) 2017 Microsoft Corporation  Enterprise Edition (64-bit) on Windows Server 2012 R2 Standard 6.3 <X64
SELECT FORMAT(SYSDATETIME(), N'Y', 'fa'); --> February 2020

Но при запуске этого на другом сервере с SQL server 2017 скрипт работает нормально:

SELECT @@VERSION --> Microsoft SQL Server 2017 (RTM-CU3-GDR) (KB4052987) - 14.0.3015.40 (X64)   Dec 22 2017 16:13:22   Copyright (C) 2017 Microsoft Corporation  Enterprise Edition (64-bit) on Windows 10 Enterprise 10.0 <X64> (Build 16299: ) 
SELECT FORMAT(SYSDATETIME(), N'Y', 'fa'); --> بهمن, 1398

Что имеет необходимо проверить конфигурацию?

PS: я понял, что эта проблема возникает на Windows Server 2012 R2 и более ранних версиях.

1 Ответ

0 голосов
/ 09 февраля 2020

Наконец-то я нашел проблему. Эта функция зависит от версии Windows, на которой установлен SQL сервер. Персидский календарь был добавлен в Windows Server 2012 R2 и Windows 10.

На этом изображении показан формат даты для fa культуры в Windows Server 2012 R2 и Windows 10

New Date Format

На этом изображении показан формат даты для культуры fa в более старой версии Windows

Old Date Format

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...