With the iReport Query Language as SQL, using 1 or 0 instead of 'true' or 'false' in query expression worked for me. Example: WHERE COALESCE(Orders."date_OrderDropDead",Orders."date_OrderRequestedToShip") BETWEEN (CASE WHEN($P{true_false_input}= 1) THEN CAST($P{date_start}-120 AS DATE) ELSE $P{date_start} END) AND $P{date_end} Above condition shows a date range going back an extra 120 days if true_false_input is set to 'true'. SQL seems to read that as 1 and 'false' as 0.