SQL Query делает странные вещи - PullRequest
0 голосов
/ 11 апреля 2011

Если я выполню этот запрос в SQL Server Express 2008:

Insert NoteBook (Date, Note) Values ('11/04/2011 11:02:46', 'test')

Дата будет сохранена как 04.11.2011

Как я могу предотвратить это?

1 Ответ

4 голосов
/ 11 апреля 2011

Используйте формат ISO-8601 : YYYYMMDD (или YYYY-MM-DDTHH:MM:SS) - он работает всегда, независимо от языка и языковых настроек SQL Server.

INSERT INTO dbo.NoteBook(Date, Note) 
VALUES('2011-04-11T11:02:46', 'test')

Дата в SQL Server НЕ хранится в каком-либо конкретном строковом формате - дата - это дата, дата, независимо от того, что вы видите.

Вы видите строковое представление даты - но опять же: она НЕ хранится таким образом - и, таким образом, вы не можете "предотвратить" ее сохранение таким образом ...

Проверьте настройки языка в SQL Server:

SELECT @@LANGUAGE

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

...