Я борюсь с проблемой MS SQL 2005 Express. Запрос, подобный приведенному ниже, отлично работает, когда для региональных параметров Windows (панель управления) установлен английский (США), но он не работает, если задан итальянский (и, возможно, другие языки).
UPDATE MyTable SET StartDate='2009-07-14 12:05:30' WHERE ID=7
Я пробовал также много разных форматов даты и времени, таких как ISO 8601:
yyyy-MM-ddTHH:mm:ss
(см. также: http://karaszi.com/the-ultimate-guide-to-the-datetime-datatypes)
Ни один из этих форматов не работает, кроме yyyyMMdd, но тогда я теряю время, что неприемлемо.
Также выполнение этого запроса первым не имеет значения:
SET LANGUAGE us_english
PS: Я выполняю запрос из программы .Net, но SQL Server Management Studio дает тот же результат: он не может преобразовать строку во время данных. Как только настройки снова вернутся к американскому английскому, он снова заработает.
Как заставить этот запрос работать с другими языковыми настройками?