SQL中碰到的坑之CASE WHEN
當前位置:點晴教程→知識管理交流
→『 技術文檔交流 』
大家都知道,在MySQL中使用CASE WHEN語句,有許多優點: 1. 靈活性 CASE WHEN語句允許根據不同的條件執行不同的操作,使得查詢結果更加靈活和個性化。 2. 可讀性 使用CASE WHEN語句可以使查詢語句更加清晰易懂,減少了嵌套IF語句的使用,提高了代碼的可讀性。 3. 可維護性 使用CASE WHEN語句可以使代碼更易于維護和修改,減少了代碼的復雜度。 4. 可擴展性 CASE WHEN語句可以根據需要添加更多的條件和操作,使得查詢更加靈活和可擴展。 然而在使用CASE...WHEN...語句時,容易碰到以下兩個坑。 5. 測試數據 SELECT * FROM case_when_test; 坑1. 忘記添加END關鍵字 在使用CASE...WHEN...語句時,每個WHEN子句后面都需要添加一個END關鍵字來結束整個CASE語句,否則會導致語法錯誤。 SELECT CASE WHEN gender = '1' THEN '男' WHEN gender = '0' THEN '女' FROM case_when_test; 報錯信息如下: 坑2. 忘記添加ELSE子句 在CASE...WHEN...語句中,如果沒有任何WHEN子句匹配條件,需要添加一個ELSE子句來定義默認值,否則會導致返回NULL值。 SELECT *, CASE WHEN gender = '1' THEN '男' WHEN gender = '0' THEN '女' END FROM case_when_test; 結果如下: 正確的語句應該是: SELECT *, CASE WHEN gender = '1' THEN '男' WHEN gender = '0' THEN '女' ELSE '人妖' END FROM case_when_test; 結果如下: 該文章在 2024/9/9 9:05:53 編輯過 |
關鍵字查詢
相關文章
正在查詢... |