Ошибка 242 в SQL Server Management Studio Express
Почему, когда я пытаюсь вставить эту дату в значение "datetime", сообщение 242 сравнивается?
2012-11-16 00:00:00.000
Этой ошибки нет, если, например, я пытаюсь вставить:
2012-11-16 15:00:00.000
1 ответ
Вставьте это как '2012-11-16T00:00:00.000'
если вам не нужно время, вставьте его как
'20121116'
Это форматы ISO для даты / времени соответственно.
Как и во всех других форматах, возникают проблемы в зависимости от языка пользователя, на котором выполняется инструкция SQL.
Вы также можете получить такие проблемы с месяцами / днями, и это не всегда очевидно.
например, если вы анализируете строку как '01/01/2015'
, это всегда будет работать. Но когда вы доберетесь до '01/13/2015'
, вы сталкиваетесь с проблемами, потому что английский использует month/day/year
в то время как, например, немецкий использует day/month/year
и 13 недействительный месяц...
В вашем случае это как-то неверно истолковывает время, и это может привести к всевозможным странным ошибкам.