mysql case when 多參數條件語法

下面的 sql 語句是要將 status 列根據一個條件或者多條件轉換爲對應的值. 其中要注意 case 關鍵字後面不能帶上列名 status 而是直接跟上 when 關鍵詞, 不然會導致轉換無效.

SELECT id, case
WHEN cast(`status` AS SIGNED) < 45 THEN '1'
WHEN cast(`status` AS SIGNED) > 44 AND vacant_time IS NOT NULL AND vacant_time != '' THEN '3'
WHEN cast(`status` AS SIGNED) > 44 AND move_date IS NOT NULL AND move_date != '' THEN '2'
WHEN cast(`status` AS SIGNED) > 44 THEN '4'
ELSE '99'
END AS `status`
FROM t_household WHERE  del_flag = '0';
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章