【发布时间】:2017-10-19 14:04:07
【问题描述】:
我使用的是 Oracle 11g,我有一个使用 WHERE 子句中的参数的简单查询(报告),但我无法有效地使用 OR 操作。
我的 WHERE 子句是:
WHERE
1=1
AND
(
TRUNC(SYSDATE) - TRUNC(seg.START) BETWEEN 0 AND [DaysBeforClass]
OR
TRUNC(seg.END) - TRUNC(SYSDATE) BETWEEN 0 AND [DaysAfterClass]
)
请注意:
-
seg.START和seg.END是日期时间类型 -
[DaysBeforClass]和[DaysAfterClass]是最终用户的参数(文本框)
我需要的是用户同时和单独使用这两个参数。
目前,此 WHERE 子句适用于以下情况:
- 用户同时使用这两个参数
- 用户仅使用 DaysBeforClass 参数
有什么想法吗?
感谢您的帮助!
【问题讨论】:
-
您是否通过
NULL让用户未输入任何内容?
标签: sql oracle parameters or-operator