SELECT column1
FROM table1
WHERE CASE WHEN column2 >50 THEN 1
WHEN column2
这个例子中,我们使用CASE表达式来过滤出符合条件的结果。如果列2大于50或小于20,那么WHERE语句就会返回1,否则返回0。
CASE表达式在有时也可以被用来实现简单的逻辑:
SELECT column1,
CASE column2
WHEN 1 THEN 'One'
WHEN 2 THEN 'Two'
WHEN 3 THEN 'Three'
ELSE 'Other'
END
FROM table1;
在这个例子中,我们使用CASE表达式来根据列2的值返回不同的字符串。这可能与简单的IF语句类似,因为它要求你指定一个条件和每个条件的响应。这可以用来将常量映射到名称或其他值。
总的来说,CASE表达式非常有用,因为它可以让你根据特定的条件进行不同的操作。你可以在SELECT、WHERE、ORDER BY、HAVING和INSERT语句中使用它,它可以用来实现简单的逻辑或复杂的逻辑。请务必考虑在你的Oracle数据库中使用CASE表达式,以提高查询的可读性和性能。