【问题标题】:varchar data type to datetime data type resulted in an out-of-range?varchar 数据类型到 datetime 数据类型导致超出范围?
【发布时间】:2010-05-07 13:31:02
【问题描述】:

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

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() 并且再次出现同样的错误???

有什么想法吗??

【问题讨论】:

  • 您能否使用正确的 RDBMS 和版本进行标记?

标签: sql-server datetime vbscript asp-classic


【解决方案1】:

嗯,我用 yyyyMMdd 格式表示 datetime varchar 字段,并且没有遇到问题

AND datecreated < '20100323';

【讨论】:

    【解决方案2】:

    据我所知,将日期格式化为“dd-mmm-yyyy”,mmm 是月份的三个字符英文名称,dd 是数字,yyyy 显然是年份,适用于我拥有的每个数据库使用(除了一些需要法语月份名称的法语 Oracle 数据库)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-11-12
      • 2016-02-08
      • 2014-01-17
      相关资源
      最近更新 更多