你的字段类型定义成smalldatetime了吧?改为datetime就可以了.

解决方案 »

  1.   

    select cast('1886-7-15 3:30:00' as datetime)
    --结果: 1886-07-15 03:30:00.000select  cast('1886-7-15 3:30:00' as smalldatetime)--结果:
    服务器: 消息 296,级别 16,状态 3,行 1
    从 char 数据类型到 smalldatetime 数据类型的转换导致 smalldatetime 值越界。
      

  2.   

    datetime从 1753 年 1 月 1 日到 9999 年 12 月 31 日的日期和时间数据,精确度为百分之三秒(等于 3.33 毫秒或 0.00333 秒)。smalldatetime从 1900 年 1 月 1 日到 2079 年 6 月 6 日的日期和时间数据精确到分钟。29.998 秒或更低的 smalldatetime 值向下舍入为最接近的分钟,29.999 秒或更高的 smalldatetime 值向上舍入为最接近的分钟。
      

  3.   

    你的表时间字段数据类型可能是smalldatetime,只能识别1900/1/1到2079/6/6。
    改为datetime即可!
      

  4.   

    所以日期溢出的话,表明你的日期类型用了smalldatetime
      

  5.   

    就是改成datetime也还是不行啊!!!!!
      

  6.   

    --查询分析器中,执行这句是否正确?select cast('1886-7-15 3:30:00' as datetime)