发生了非常奇怪的问题,我已经将一个站点从一个服务器移动到另一个服务器 - 一切正常,但任何涉及日期的查询都在播放。我得到以下内容:
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(),但同样的错误???
任何想法??
答案 0 :(得分:2)
好吧,我用yyyyMMdd格式表示日期时间varchar字段,并且没有遇到问题
AND datecreated < '20100323';
答案 1 :(得分:0)
据我所知,将日期格式化为'dd-mmm-yyyy',其中mmm是月份的三个字符英文名称,dd是数字,yyyy显然是年份,适用于我拥有的每个数据库与之合作(除了一些需要法国月份名称的法国Oracle数据库)。