oracle中casewhen用法
时间: 2023-05-09 19:01:28 浏览: 170
Oracle中的CASE WHEN是一种非常有用的逻辑运算,它可以用于在SELECT语句中进行条件判断并返回特定的值。它的基本语法如下:
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE resultN
END
其中,condition1、condition2等表示具体的条件,result1、result2等则表示满足不同条件时返回的结果。当满足condition1时,CASE WHEN会返回result1,当满足condition2时,CASE WHEN则返回result2,以此类推。如果所有条件都不满足,CASE WHEN会返回ELSE后面的结果。
CASE WHEN还可以通过多个条件的同时满足来返回一个结果。例如:
CASE
WHEN condition1 AND condition2 THEN result1
WHEN condition3 THEN result3
ELSE resultN
END
在这个例子中,当同时满足condition1和condition2时,返回result1;当满足condition3时,返回result3;否则返回ELSE后面的结果。
CASE WHEN还可以用于在WHERE语句和ORDER BY语句中进行条件过滤和排序。例如:
SELECT *
FROM table_name
WHERE CASE
WHEN column1 > 10 THEN '大于10'
WHEN column1 < 5 THEN '小于5'
ELSE '介于5和10之间'
END = '大于10'
在这个例子中,会返回所有column1大于10的行。
总之,Oracle中的CASE WHEN是一个非常有用的逻辑运算,可以用于在SELECT语句中进行条件判断以及在WHERE语句和ORDER BY语句中进行条件过滤和排序。
阅读全文