MySQL CASE函数
时间:2019-02-04 12:52:47 来源:igfitidea点击:
本MySQL教程通过语法和示例说明了如何使用MySQL CASE函数。
描述
MySQL CASE函数具有IF-THEN-ELSE语句的功能,它可以测试条件并在第一次满足条件时返回一个值。
语法
MySQL中CASE函数的语法为:
CASE [ expression ] WHEN condition_1 THEN result_1 WHEN condition_2 THEN result_2 ... WHEN condition_n THEN result_n ELSE result END
expression可选的表达式。它是要与条件列表(即:condition_1,condition_2,... condition_n)进行比较的值。
condition_1,condition_2,... condition_n按照列出的顺序进行比较的条件。
result_1,result_2,... result_n对应的条件满足时返回的结果。
说明
- 如果都没有条件满足,则CASE函数将返回ELSE子句中的值。
- 如果省略了ELSE子句,并且没有条件被满足,则CASE语句将返回NULL。
示例
SELECT supplier_id, CASE quantity WHEN > 10 THEN '数量大于 10' WHEN = 10 THEN '数量等于 10' ELSE '数量小于10' END FROM suppliers;
在此示例中,表达式是quantity,其将与每个条件进行比较,直到满足一个条件为止。
使用CASE函数时还可以在省略表达式:
SELECT CASE WHEN a < b THEN 1 WHEN supplier_type = 'clothing' THEN 2 ELSE 3 END FROM suppliers;
在此示例中,每个条件都可以单独评估。当满足前面的条件之一时,将返回相应的值。后面的就不会再判断。