WHY ARE YOU CHANGING A DATE TO A CHAR TO A DATE?
Leave it as date
Code:
SELECT
hbs.bf_debit_note.note_oid,
hbs.bf_debit_note.note_no,
hbs.bf_debit_note.pocy_oid
FROM
hbs.bf_debit_note LEFT OUTER JOIN hbs.bf_settlement_note ON
hbs.bf_debit_note.note_oid = hbs.bf_settlement_note.note_oid_settled,
hbs.bf_settlement RIGHT OUTER JOIN hbs.bf_settlement_note ON
hbs.bf_settlement.sett_oid = hbs.bf_settlement_note.sett_oid,
hbs.bf_txn
WHERE hbs.bf_txn.bftx_oid = hbs.bf_debit_note.bftx_oid
AND ( hbs.bf_settlement.settle_date BETWEEN
TO_DATE ('12/01/2009', 'MM/DD/YYYY') AND TO_DATE ('12/01/2009', 'MM/DD/YYYY')
OR hbs.bf_settlement.crt_date BETWEEN
TO_DATE ('12/01/2009', 'MM/DD/YYYY') AND TO_DATE ('12/01/2009', 'MM/DD/YYYY')
OR hbs.bf_settlement.reverse_date BETWEEN
TO_DATE ('12/01/2009', 'MM/DD/YYYY') AND TO_DATE ('12/01/2009', 'MM/DD/YYYY')
)
OR hbs.bf_debit_note.bill_date BETWEEN
TO_DATE ('12/01/2009', 'MM/DD/YYYY') AND TO_DATE ('12/01/2009', 'MM/DD/YYYY')
)