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 编辑过 |
关键字查询
相关文章
正在查询... |