Тип данных varchar для типа данных datetime привел к превышению допустимого диапазона? - PullRequest
0 голосов
/ 07 мая 2010

Возникла очень странная проблема, я переместил сайт с одного сервера на другой - все работает, но любой запрос, связанный с датой, воспроизводится. Я получаю следующее:

DELETE FROM MYTABLE WHERE categoryId = -2 AND datecreated < '3/23/2010';

The conversion of a varchar data type to a datetime data type resulted in an out-of-range value

Теперь, что странно, я изменил LCID на 1033 на новом сервере, поскольку дата отображается в формате США, и она все еще выдает ошибку! Я тогда попробовал 2057 и опять ту же ошибку? Не сделал разницы

Я немного сбит с толку, так как это рабочий сайт с сервера с IIS6 - локаль 1033 на этом сервере и работает отлично !! : S

Я только что попытался добавить Cdate () и к дате, и снова та же ошибка ???

Есть идеи ??

Ответы [ 2 ]

2 голосов
/ 07 мая 2010

Хорошо, я использую для выражения поля datetime varchar в формате yyyyMMdd, и у меня не было проблем с этим

AND datecreated < '20100323';
0 голосов
/ 08 мая 2010

Насколько я знаю, форматирование дат как 'dd-mmm-yyyy', когда mmm обозначает трехсимвольное английское название месяца, dd - число, а yyyy - год, работает с любой базой данных, которую я имею работал с (за исключением некоторой французской базы данных Oracle, которой требовалось название французского месяца).

...