有一存储过程,前段时间没问题,但现在服务器执行提示说varchar转化numeric出错,我在别的机器上执行没问题,请问这是什么情况varchar numeric

解决方案 »

  1.   

    varchar转化numeric出错就是往numeric字段写入非数字引起的,往往是参数没有检验
      

  2.   

    那也许是你的数据有中存在部分非法数据,你在不同时段或者所取的数据段不同,可能在服务器上运行的时候取到了那个非法数据,因而转换失败,而用其他机器的时候没有取到该数据
    可以测试一下,如果你知道具体是哪个表哪个字段的话,
    select count(convert(numeric(你的实际长度),col)) from tb
    还有就是可能是长度超限
      

  3.   

    select isnumeric(列名)
    FROM tb
    看看有否异常数据
      

  4.   

    select * from 表 where isnumeric(列)=0
      

  5.   

    楼上两位匪首整的不赖,让我看到了isnumeric函数的的实际应用。哈哈
      

  6.   


    数据里面出现无法转成numeric的字符了吧。