UPDATE t_yqtmls
SET yqtm = yqtm + 1000
WHERE (yqlsh BETWEEN '60000085001' AND '60000091000')运行提示:varchar值‘33000085001’转换溢出了int列,超出了最大整数值sql server 2000 企业管理器下
列yqtm的值为 varchar(13)请问这个语句该怎么修改

解决方案 »

  1.   

    UPDATE t_yqtmls
    SET yqtm = rtrim(cast(yqtm as bigint) + 1000)
      

  2.   

    UPDATE t_yqtmls
    SET yqtm = yqtm + 1000
    WHERE (cast(yqlsh as varchar(12)) BETWEEN '60000085001' AND '60000091000')
      

  3.   

    -2147483648到2147483647
    这是int类型的范围,不能超出 
      

  4.   

    UPDATE t_yqtmls
    SET yqtm = cast(yqtm as decimal(13,0)) + 1000
    WHERE (yqlsh BETWEEN '60000085001' AND '60000091000')