Как я могу запросить культуру базы данных (SQL Server 2005)? - PullRequest
2 голосов
/ 12 марта 2010

Как я могу запросить культуру базы данных (SQL Server 2005)?

У меня проблемы со вставкой и получением дат, поскольку серверы клиента не работают на той же культуре, что и мой сервер разработчика.

Я могу настроить дату, но мне нужно знать культуру сервера ...

Ответы [ 2 ]

8 голосов
/ 12 марта 2010

Вы можете узнать о текущем настроенном языке, используя это:

SELECT @@language

и вы также можете проверить это:

EXEC sp_helplanguage

Он покажет доступные языки, и какие форматы даты и т. Д. Они имеют. В основном это содержимое таблицы системного каталога sys.syslanguages.

Что касается обработки даты - предпочтительно используйте параметризованные запросы на основе DateTime или, если вам нужны строки даты, используйте формат даты *1011* в SQL Server.

Формат YYYYMMDD или YYYYMMDD HH:MM:SS всегда будет работать, независимо от текущих выбранных языковых настроек в SQL Server.

0 голосов
/ 12 марта 2010

Тебе это не нужно.

  • Даты, так как ДАТЫ всегда получают ввод / вывод в клиенте, культура сервера здесь не имеет значения, так как визуализация / преобразование строк происходит на клиенте. Поэтому используйте переменные для параметров запроса и получите в качестве выходных данных правильные типы (должно происходить автоматически), и у вас не возникнет проблем с началом.
  • Если вам нужно вставить строки, используйте форму ISO (2010-12-05 23: 15: 22.233), которая распознается во ВСЕХ настройках культуры как общий запасной вариант.
...