如果Ss_Je中都是数字,直接用,系统会隐性转换

解决方案 »

  1.   

    转换一下即可eg:Declare @A Varchar(10)
    Declare @B Varchar(10)
    Set @A='3'
    Set @B='4'
    Select Cast(@A As Int)+Cast(@B As Int)
      

  2.   

    转换一下即可eg:Declare @A Varchar(10)
    Declare @B Varchar(10)
    Set @A='3'
    Set @B='4'
    Select Cast(@A As Int)+Cast(@B As Int)
      

  3.   

    cast(Ss_Je as float)
    convert(float, Ss_Je)
    select Sum(cast(Ss_Je as float)) from 表
      

  4.   

    declare @i varchar(20), @j int
    set @i = '3'
    Select  @i
    set @j = convert(int, @i)
    Select @j
      

  5.   

    Ss_Je字段值没有字母的话可以用
    select sum(convert(int,Ss_Je)) from table
    有字母的话就不行了
      

  6.   

    如果你的Ss_Je字段里的数据全是数值型的,那么你直接改表就行了。
    系统会自动转,如果数据不规则,那就有麻烦了。
      

  7.   


    --测试环境
    create table A(ID varchar(10),Gy_ID Varchar(10),Ss_Je Varchar(10),Input varchar(10))
    insert into A select '117','19','3','a'
    union all select '118','19','4','a'
    union all select '119','19','5','a'
    union all select '120','19','6','a'
    union all select '121','19','7','a'
    go--SQL语句
    select sum(convert(int,Ss_Je)) as SumSs_Je from A
    go
    --删除表
    drop table A/** 结果
    SumSs_Je    
    ----------- 
    25(所影响的行数为 1 行)
    **/
      

  8.   

    求总和
    Select Sum(Convert(int, Ss_Je)) From Table where 你的条件
      

  9.   

    如果是用+的话,就要转换一下,如果是SUM求和,直接求和即可。