2016-04-01 6 views
1

oracleのBETWEEN句にNULL値を渡すにはどうすればよいですか?OracleのBETWEEN句にNull値を渡すにはどうすればよいですか?OracleのBETWEEN句にNull値を渡すにはどうすればよいですか? oracleのBETWEEN句でnull値を渡すにはどうすればよいですか?oracleのBETWEEN句にnull値を渡すにはどうしたらいいですか?OracleのBETWEEN句にnull値を渡すにはどうすればよいですか?oracleのBETWEEN句にNULL値を渡すにはどうすればよいですか?

答えて

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 

注:データベースに日付値を格納しようとしている場合は、標準の日付タイプではなく、文字を使用する必要があります。

+1

我々はOPの元の文オフ推測を行うとき、私は2つの括弧式がAND' 'とリンクされるべきだと思うので、私たちは時に両方の閉区間を取得引数は 'NOT NULL'です。 @Dlatikay。 – dlatikay

+0

。 。仰るとおりです。 –

1

これはBETWEEN ... AND ...構文ではサポートされていません。この代わりのような

使用何か:

WHERE ... 
AND (:datefrom IS NULL OR ap.account_payment_dat>=:datefrom) 
AND (:dateto IS NULL OR ap.account_payment_dat<=:dateto) 
関連する問題