(1) CASE value WHEN [compare-value] THEN result [WHEN [compare-value] THEN result ...] [ELSE result] END //這個我還沒想到咋用,知道的可以留言交流, (2) CASE WHEN [condition] THEN result [WHEN [condition] THEN result ...] [ELSE result] END //這個面試時被人問到了,可以用作條件判斷 第(1)個返回 result,其中value=compare-value。第(2)個中如果第一個條件為真,返回result。如果沒有匹配的result值,那么結 果在ELSE后的result被返回。如果沒有ELSE部分,那么NULL被返回。
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
上面的例子本人在mysql5.2.6上測試通過=====================================================================================PS:以上是轉載的內容,覺得很不錯就轉過來了,其中的CASE...WHEN...THEN、IF、IFNULL都是常用到的函數eg:SELECT id,username,CASE gender WHEN 1 THEN "男" WHEN 2 THEN "女" END FROM t_people; SELECT b.id,b.book_name,CASE b.type WHEN 1 THEN "計算機" WHEN 2 THEN "會計" ELSE "其它" END FROM book b;