网上查了不少列子,但是很少讲得透彻,想请教下这个条语句在整个sql中的作用是什么,是否会产生一个新列?then返回的值究竟是否为新列的一部分,默认的列名是什么,在下数据库知识比较菜,有哪位高手能讲明白这条语句吗?多谢了。

解决方案 »

  1.   

    mysql> SELECT CASE 1 WHEN 1 THEN 'one'
        ->     WHEN 2 THEN 'two' ELSE 'more' END;
            -> 'one'
    mysql> SELECT CASE WHEN 1>0 THEN 'true' ELSE 'false' END;
            -> 'true'
    mysql> SELECT CASE BINARY 'B'
        ->     WHEN 'a' THEN 1 WHEN 'b' THEN 2 END;
            -> NULL
      

  2.   

    case when 就是判断和 if类似
      

  3.   

    select case  col1=1 then 'a' else 'b' end
    from tb取tb的每一行  执行这样的判断:当列col1=1时候  输出a   否则输出b
      

  4.   

    跟IF ELSE 一样