oracle case when
时间: 2023-07-05 21:28:56 浏览: 59
Oracle CASE WHEN是一种条件表达式,用于在查询中根据条件返回不同的值。它的语法如下:
```
CASE WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE default_result
END
```
其中,condition1、condition2等是条件表达式,result1、result2等是与条件表达式对应的结果,default_result是一个可选的默认结果,当条件表达式都不满足时返回该结果。
例如,下面的查询使用CASE WHEN将员工的薪水分成了三个档次:
```
SELECT first_name, last_name,
CASE WHEN salary >= 10000 THEN '高薪'
WHEN salary >= 5000 THEN '中薪'
ELSE '低薪'
END AS salary_level
FROM employees;
```
在这个例子中,当员工的薪水大于等于10000时,返回“高薪”;当薪水大于等于5000但小于10000时,返回“中薪”;否则返回“低薪”。
相关问题
ORACLE case when
ORACLE的CASE WHEN语句是一种条件分支语句,用于根据不同的条件执行不同的操作。它可以有两种形式。简单CASE函数的语法如下:
CASE 表达式
WHEN 值1 THEN 结果1
WHEN 值2 THEN 结果2
...
ELSE 默认结果
END
而CASE搜索函数的语法如下:
CASE
WHEN 条件1 THEN 结果1
WHEN 条件2 THEN 结果2
...
ELSE 默认结果
END
在第一种形式中,CASE表达式和各个WHEN子句后的值进行比较,匹配时返回相应的结果。如果没有匹配的值,则返回ELSE子句中的默认结果。
在第二种形式中,每个WHEN子句只包含条件,不包含具体的值。当条件为真时,返回相应的结果。如果没有条件为真,则返回ELSE子句中的默认结果。
请注意,在ORACLE中,CASE语句是在SELECT语句中使用的。下面是一个例子:
SELECT ID, CASE WHEN SEX=0 AND AGE<=18 THEN NAME||'(女)'||AGE||'岁' ELSE NAME||AGE||'岁'||'(不满足小于等于18岁的女生条件)' END DETAIL FROM "PeopleInfo"
这个例子中,根据性别和年龄的条件,返回不同的结果。
Oracle CASE WHEN
Oracle CASE WHEN是一种条件表达式,用于在Oracle SQL查询中根据条件返回不同的结果。它的语法格式如下:
```
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
WHEN condition3 THEN result3
...
ELSE resultN
END
```
其中,condition1, condition2, condition3等为条件表达式,result1, result2, result3等为对应的结果,ELSE子句为可选项,表示当所有条件都不满足时的默认结果。
例如,以下查询使用CASE WHEN将销售额按照不同的区间进行分组:
```
SELECT
CASE
WHEN sales <= 1000 THEN '0-1000'
WHEN sales <= 5000 THEN '1000-5000'
WHEN sales <= 10000 THEN '5000-10000'
ELSE '10000+'
END AS sales_range,
COUNT(*) AS sales_count
FROM
sales_table
GROUP BY
CASE
WHEN sales <= 1000 THEN '0-1000'
WHEN sales <= 5000 THEN '1000-5000'
WHEN sales <= 10000 THEN '5000-10000'
ELSE '10000+'
END;
```
阅读全文