2024年3月14日发(作者:)

sql中的case when用法

SQL中的CASE WHEN用法

CASE WHEN是SQL中的一种条件语句,它可以根据指定的条件判

断,返回相应的结果。它具有case,when,then,else,end等关键

字,其中case表示开始判断,when表示判断条件,then表示执行结

果,else表示默认结果,end表示结束判断。

下面我们就详细来介绍一下SQL中的CASE WHEN语句的用法:

1、基本用法:

基本的CASE WHEN语句的格式如下:

SELECT 字段1, CASE 字段2

WHEN 条件1 THEN 结果1

WHEN 条件2 THEN 结果2

ELSE 默认结果

END AS 别名

FROM 表名;

上面的语句中,字段1代表要查询的字段,字段2代表根据那个

字段进行判断,别名代表处理后的结果的别名,条件1和条件2代表

判断的条件,结果1和结果2表示条件对应的结果,默认结果表示当

所有的条件都不满足的时候,返回的结果,最后表示要查询的表名。

例如:

SELECT 姓名, 年龄 , CASE 年龄

WHEN 0 THEN '未出生'

WHEN 1 THEN '婴儿'

WHEN 3 THEN '幼儿'

ELSE '其他'

END AS 人群

FROM student;

上面的语句中,查询出student表中的姓名和年龄,并根据年龄

进行判断,当年龄为0时,返回‘未出生’,当年龄为1时,返回‘婴

儿’,当年龄为3时,返回‘幼儿’,其他情况返回‘其他’,然后把

处理后的结果起别名为人群。

2、复合条件判断:

复合条件判断的CASE WHEN语句的格式如下:

SELECT 字段1, CASE

WHEN 条件1 THEN 结果1

WHEN 条件2 THEN 结果2

WHEN 条件3 THEN 结果3

ELSE 默认结果

END AS 别名

FROM 表名;

上面的语句中,字段1代表要查询的字段,别名代表处理后的结

果的别名,条件1,条件2,条件3代表判断的条件,结果1,结果2,

结果3表示条件对应的结果,默认结果表示当所有的条件都不满足的

时候,返回的结果,最后表示要查询的表名。

例如:

SELECT 姓名, 年龄 , CASE

WHEN 年龄=0 THEN '未出生'

WHEN 年龄 BETWEEN 1 and 3 THEN '婴儿'

WHEN 年龄 BETWEEN 4 and 6 THEN '幼儿'

ELSE '其他'

END AS 人群

FROM student;

上面的语句中,查询出student表中的姓名和年龄,并根据年龄

进行判断,当年龄为0时,返回‘未出生’,当年龄介于1和3之间

时,返回‘婴儿’,当年龄介于4和6之间时,返回‘幼儿’,其他情

况返回‘其他’,然后把处理后的结果起别名为人群。

以上就是SQL中CASE WHEN语句的用法,希望以上内容能够对大

家有所帮助。