iif (a>b,c,0)改成case when then else end 语句

解决方案 »

  1.   

    case when a>b then c else 0 end
      

  2.   

    case 后面应该跟变量的吧?
      

  3.   

    Case When a>b Then c Else 0 End
      

  4.   

    case when a>b then c else 0 end 
      

  5.   

    CASE 具有两种格式: 简单 CASE 函数将某个表达式与一组简单表达式进行比较以确定结果。 
    CASE 搜索函数计算一组布尔表达式以确定结果。 
    两种格式都支持可选的 ELSE 参数。 语法
    简单 CASE 函数:CASE input_expression
        WHEN when_expression THEN result_expression
            [ ...n ]
        [ 
            ELSE else_result_expression
        ENDCASE 搜索函数:CASE
        WHEN Boolean_expression THEN result_expression
            [ ...n ]
        [ 
            ELSE else_result_expression
        END
      

  6.   

    CASE WHEN 有两种写法:第一种:(同一楼)
    case when a>b then c else 0 end第二种:
    case a when 1 then c else 0 end -- 意思就是当a=1是取c否则为零
      

  7.   

    USE pubs
    GO
    SELECT   Category = 
          CASE type
             WHEN 'popular_comp' THEN 'Popular Computing'
             WHEN 'mod_cook' THEN 'Modern Cooking'
             WHEN 'business' THEN 'Business'
             WHEN 'psychology' THEN 'Psychology'
             WHEN 'trad_cook' THEN 'Traditional Cooking'
             ELSE 'Not yet categorized'
          END,
       CAST(title AS varchar(25)) AS 'Shortened Title',
       price AS Price
    FROM titles
    WHERE price IS NOT NULL
    ORDER BY type, price
    COMPUTE AVG(price) BY type
    GO