我想获得加班的小时数。ResultOtTime1是小时的字段。
sum(if(ResultOtTypeName1='平常加班',ResultOtTime1,0)+if(ResultOtTypeName2='平常加班',ResultOtTime2,0)+if(ResultOtTypeName3='平常加班',ResultOtTime3,0))/3600

解决方案 »

  1.   


    sum((case when ResultOtTypeName1='平常加班' then ResultOtTime1 else 0 end)+
    (case when ResultOtTypeName2='平常加班' then ResultOtTime2 else 0 end)+
    (case when ResultOtTypeName3='平常加班' then ResultOtTime3 else 0 end))/3600
      

  2.   

    sum((case ResultOtTypeName1 when '平常加班'  then ResultOtTime1 else 0  end )+(case ResultOtTypeName2 when '平常加班' then ResultOtTime2 else 0 end )+(case ResultOtTypeName3 when '平常加班' then ResultOtTime3 else 0 end))/3600
      

  3.   

    谢谢楼上的! if用不了可以用case .我死脑筋了。
      

  4.   

    if(ResultOtTypeName1='平常加班',ResultOtTime1,0)这是什么写法?
    sqlserver里是用case when的