Установить языковой стандарт SQL Server 2005 - PullRequest
2 голосов
/ 16 октября 2008

По умолчанию SQL Server поставляется с языком, установленным на «Английский (США)», с установкой формата даты в мм / дд / гг вместо формата даты, в котором я хочу, который является австралийским и имеет формат даты например, дд / мм / гг.

Есть ли в средстве Server Management Studio / Configuration опция, в которой я могу указать языковой стандарт SQL Server, который не позволяет форматировать поля DateTime в формате даты в США?

Если нет, как я могу преобразовать его, когда я использую SQL-запрос, такой как (извините, если синтаксис неверен, я сделал это на месте):

Dim dc As New SqlCommand("INSERT INTO hello VALUES (@Date)", cn)
dc.Parameters.Add(New SqlParameter("Date", System.DateTime.Now))

Большое спасибо заранее. :)

Ответы [ 2 ]

2 голосов
/ 16 октября 2008

Вы можете установить язык / локаль по умолчанию для каждого пользователя из SQL Management Studio (см. Папку «Безопасность»).

И переопределите это для определенного соединения, используя команду SET LANGUAGE (или SET DATEFORMAT, если вы просто хотите изменить формат даты).

Вы также можете установить язык по умолчанию (используемый для новых пользователей) в SQL Management Studio: щелкните правой кнопкой мыши на сервере, выберите «Свойства» / «Дополнительно» / «Язык по умолчанию».

0 голосов
/ 16 октября 2008

понятия не имею, что это за формат в "внизу"

дд / мм / гггг чч: мм: сс?

Если да, эта дата является аннотацией Великобритании / Франции, поэтому все, что вам нужно сделать, это:

INSERT INTO hello VALUES convert(datetime, @Date + ' 00:00:00', 103)

или

INSERT INTO hello VALUES convert(datetime, @Date, 103)

если вы на самом деле поместите время

для получения дополнительной информации, проверьте Книги онлайн на MSDN , чтобы получить правильный номер кода.

даже в Селектах я всегда использую это, независимо от того, что в SQL (потому что я склонен использовать Hosting SQL и там я не могу изменить форматы), как:

SELECT myColumn FROM myTable WHERE myDateField >= convert(datetime, @Date + '00:00:00', 103)

надеюсь, это поможет

...