1

好的,有很多记录,也许一个订单号 = 11233。

部分代码不正确

 AND a.C_DATE BETWEEN TO_DATE (
                                   NVL ('&C_DATE_FROM', '1900-01-01'),
                                   'yyyy-mm-dd')
                            AND TO_DATE (
                                   NVL ('&C_DATE_TO', '2099-12-31'),
                                   'yyyy-mm-dd')

我的问题如果 a.C_DATE 为空,我该如何编写条件???现在当 a.C_DATe 为空时我没有记录

我是这样写的

 AND (a.C_DATE BETWEEN TO_DATE (
                                   NVL ('&C_DATE_FROM', '1900-01-01'),
                                   'yyyy-mm-dd')
                            AND TO_DATE (
                                   NVL ('&C_DATE_TO', '2099-12-31'),
                                   'yyyy-mm-dd') OR a.C_DATE IS NULL)

但是我等了很久......

4

2 回答 2

2

试试这个:

AND (NVL(a.C_DATE, TO_DATE('1900-01-01','yyyy-mm-dd')) 
     BETWEEN TO_DATE (NVL('&C_DATE_FROM', '1900-01-01'), 'yyyy-mm-dd')
         AND TO_DATE (NVL('&C_DATE_TO',   '2099-12-31'), 'yyyy-mm-dd'))
于 2013-11-14T12:52:33.247 回答
1

也许这样?

AND ( 
   a.C_DATE BETWEEN 
       TO_DATE('1900-01-01', 'yyyy-mm-dd') AND TO_DATE ('2099-12-31', 'yyyy-mm-dd') 
   OR a.C_DATE IS NULL
    )

为什么这个大日期范围?

于 2013-11-14T12:50:44.707 回答