case when ifnull用法
时间: 2024-09-11 09:12:55 浏览: 45
mysql中IFNULL,IF,CASE的区别介绍
5星 · 资源好评率100%
`CASE WHEN` 和 `IFNULL` 是SQL中常用的函数,它们主要用于处理条件逻辑和处理空值问题。
`CASE WHEN` 是SQL中的条件函数,用于实现SQL中的条件逻辑,类似于编程语言中的if-else结构。它可以用于SELECT语句、WHERE子句、ORDER BY子句等。基本语法如下:
```sql
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE result_else
END
```
当`condition1`为真时返回`result1`,当`condition2`为真时返回`result2`,如果没有一个条件为真,则返回`result_else`。
`IFNULL` 函数用于判断第一个参数是否为NULL,如果是,则返回第二个参数的值,否则返回第一个参数的值。基本语法如下:
```sql
IFNULL(expression1, expression2)
```
如果`expression1`不为NULL,则返回`expression1`的值,否则返回`expression2`的值。
一个简单的例子结合`CASE WHEN`和`IFNULL`的使用:
```sql
SELECT
customer_name,
IFNULL(CASE
WHEN points > 100 THEN 'High points'
WHEN points > 50 THEN 'Medium points'
ELSE 'Low points'
END, 'No points') AS points_level
FROM customers;
```
在这个例子中,根据客户的积分`points`,使用`CASE WHEN`逻辑判断积分所属的等级,如果`points`为NULL,则`IFNULL`函数确保返回'No points'。
阅读全文