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?
1
A
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
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)
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
@dlatikay. . . Size katılıyorum. –