gpt4 book ai didi

sql - where 子句中的 Oracle 案例

转载 作者:行者123 更新时间:2023-12-04 15:00:05 28 4
gpt4 key购买 nike

这是一个简单的问题,我已经阅读了有关使用 CASE 的一些详细信息。在 WHERE条款,但无法清楚地了解如何使用它。以下是我的示例查询:

1    SELECT * FROM dual
2 WHERE (1 =1)
3 AND (SYSDATE+1 > SYSDATE)
4 AND (30 > 40)
5 AND (25 < 35);

我有一个程序 i_value如参数。
如果 i_value 是“S”,我需要忽略第 4 行,如果 i_value 是“T”,我需要忽略第 5 行。

提前致谢。

最佳答案

我认为这是解决您的问题的最佳方法:

select *
from dual
where (1 = 1)
and (sysdate + 1 > sysdate)
and case
when i_value = 'S'
then
case
when (25 < 35)
then 1
else 0
end
when i_value = 'T'
then
case
when (30 > 40)
then 1
else 0
end
end = 1;

当然,您可以使用动态 SQL,但它会更困难且效率更低。

关于sql - where 子句中的 Oracle 案例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17584994/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com