2016-04-01 17 views
1

Oracle'de BETWEEN deyiminde boş değerleri nasıl geçebilirim? BENTWEEN deyiminde boş değerlere nasıl geçebilirim? Oracle'da BETWEEN deyimindeki boş değerleri nasıl geçirebilirim? NULL değerlerimi oracle'deki BETWEEN deyiminden nasıl geçebilirim? Nasıl oracle içinde BETWEEN yan tümcesinde null değerlerini nasıl geçirebilirim? Oracle'de BETWEEN yan tümcesinde null değerlerini nasıl geçirebilirim?Oracle'da BETWEEN deyimindeki boş değerleri nasıl geçirebilirim?

cevap

1

COALESCE()'u kullanın. Ya da, sadece AND ve OR kullanarak mantığı patlak:

(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 

Not: Eğer veritabanında tarih değerlerini saklamak olacak, o zaman standart tarih türlerini değil, karakterler kullanmalıdır.

+1

biz OP'ın orijinal deyimi kapalı bir tahminde bulunmak, ben iki parantez ifadeleri ve' 'bağlantılı gerektiğini düşünüyorum, bu yüzden her iki kapalı bir aralık olsun argümanlar 'NULL' DEĞİLDİR. – dlatikay

+0

@dlatikay. . . Size katılıyorum. –

1

Bu, BETWEEN ... AND ... sözdizimi aracılığıyla desteklenmez. artık şöyle

Kullanım şey:

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