今天换了公司系统的服务器后,一个B/S的系统,其他一切都正常,就是在输入日期时后提交会报“ 将 expression 转换为数据类型 smalldatetime 时发生算术溢出错误。语句已终止。”说明:原Sql server 2000 是英文版的,企业版
现Sql server 2000 是中文版的,企业版所填写的日期格式是这样的 07/20/09, 后面是年
现在运行:
DBCC   USEROPTIONS 运行出来如下信息的
textsize 64512
language 简体中文
dateformat ymd
datefirst 7
quoted_identifier SET
arithabort SET
ansi_null_dflt_on SET
ansi_defaults SET
ansi_warnings SET
ansi_padding SET
ansi_nulls SET
concat_null_yields_null SET不知道哪里出了问题。 请高手指点一下。

解决方案 »

  1.   

    smalldatetime 将字段改为DATETIME
      

  2.   

    --設定輸入 datetime 或 smalldatetime 資料時,日期部份 (月份/日期/年份) 的順序。
    SET DATEFORMAT mdy
    declare @t smalldatetime
    set @t='07/20/09'
      

  3.   

    按照 水族杰纶 SET DATEFORMAT mdy好像不起作用。 同样报错,重启Sql server 2000 后,还是 变成 ymd 格式了。有什么更好的办法吗。