varchar数据类型到datetime数据类型导致超出范围?

时间:2010-05-07 13:31:03

标签: sql-server datetime vbscript asp-classic

发生了非常奇怪的问题,我已经将一个站点从一个服务器移动到另一个服务器 - 一切正常,但任何涉及日期的查询都在播放。我得到以下内容:

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 个答案:

答案 0 :(得分:2)

好吧,我用yyyyMMdd格式表示日期时间varchar字段,并且没有遇到问题

AND datecreated < '20100323';

答案 1 :(得分:0)

据我所知,将日期格式化为'dd-mmm-yyyy',其中mmm是月份​​的三个字符英文名称,dd是数字,yyyy显然是年份,适用于我拥有的每个数据库与之合作(除了一些需要法国月份名称的法国Oracle数据库)。