Я борюсь с проблемой 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 дает тот же результат: он не может преобразовать строку во время данных. Как только настройки вернутся на американский английский, они снова будут работать.
Как мне заставить этот запрос работать с другими настройками языка?