update kh set kh.客户年龄=2012-substring(khb.身份证,7,4)  from kh,khb where kh.客户姓名=khb.客户姓名执行报: "varchar 值 '5)36' 转换为数据类型为 int 的列时发生语法错误。"
而执行 select 2012-substring(khb.身份证,7,4) from khb 一切正常,谁知道这是什么问题吗
 

解决方案 »

  1.   


    update kh set kh.客户年龄=2012-casr(substring(khb.身份证,7,4) as int) 
    from kh,khb where kh.客户姓名=khb.客户姓名
      

  2.   

    update kh set kh.客户年龄=2012-convert(int,substring(khb.身份证,7,4)) from kh,khb where kh.客户姓名=khb.客户姓名
      

  3.   


    update kh set kh.客户年龄=2012-cast(substring(khb.身份证,7,4) as int) 
    from kh,khb where kh.客户姓名=khb.客户姓名