oracle case when end
时间: 2023-11-03 10:57:01 浏览: 100
Oracle的CASE WHEN语句是一种条件表达式,用于根据不同的条件返回不同的结果。它有两种形式:简单CASE函数和CASE搜索函数。简单CASE函数的语法如下:
CASE 表达式
WHEN 值1 THEN 结果1
WHEN 值2 THEN 结果2
...
ELSE 默认结果
END
而CASE搜索函数的语法如下:
CASE
WHEN 条件1 THEN 结果1
WHEN 条件2 THEN 结果2
...
ELSE 默认结果
END
可以理解为类似于Java的if-else if-else语句,用于根据条件选择不同的执行分支。
举个例子来说明,假设有一个名为user的表,包含name、age和sex字段。我们想根据性别进行逻辑分组,将1表示为'男孩',2表示为'女孩'。可以使用简单CASE函数或CASE搜索函数来实现:
简单CASE函数的示例代码:
SELECT name, age,
CASE sex
WHEN '1' THEN '男孩'
WHEN '2' THEN '女孩'
ELSE '其他'
END AS gender
FROM user;
CASE搜索函数的示例代码:
SELECT name, age,
CASE
WHEN sex = '1' THEN '男孩'
WHEN sex = '2' THEN '女孩'
ELSE '其他'
END AS gender
FROM user;
这样就可以根据性别将用户分组为'男孩'、'女孩'或'其他'。
希望这个回答对你有帮助!如果你还有其他问题,请随时提出。
阅读全文