如何在oracle的BETWEEN子句中传递空值?

时间:2016-04-01 11:11:51

标签: oracle oracle11g

如何在oracle中的BETWEEN子句中传递空值?如何在oracle中的BETWEEN子句中传递空值?如何在oracle中的BETWEEN子句中传递空值?如何在oracle中的BETWEEN子句中传递空值? ?如何在oracle中的BETWEEN子句中传递空值?如何在oracle中的BETWEEN子句中传递空值?如何在oracle的BETWEEN子句中传递空值?

2 个答案:

答案 0 :(得分:2)

BETWEEN ... AND ...语法不支持此功能。

使用类似的东西:

WHERE ...
AND (:datefrom IS NULL OR ap.account_payment_dat>=:datefrom)
AND (:dateto IS NULL OR ap.account_payment_dat<=:dateto)

答案 1 :(得分:1)

使用COALESCE()。或者,使用ANDOR

来突破逻辑
(ap.account_payment_dat >= to_date(#Date From#, 'MM/dd/yyyy') or #Date From# is NULL)  and
(ap.account_payment_dat <= to_date(#Date To#,' MM/dd/yyyy') or #Date To# is NULL
) and

注意:如果要在数据库中存储日期值,则应使用标准日期类型,而不是字符。