LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

SQL中碰到的坑之CASE WHEN

admin
2024年3月15日 15:13 本文热度 660

大家都知道,在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 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved