I'm creating an sql query where i have 3 fields --> NUMBER,COMPANY_NAME,END_DATE. What i'm trying to do is give the user the option to whether input or not input NUMBER and COMPANY...But END_DATE must be mandatory. However when i leave both NUMBER and COMPANY empty, and only input END_DATE, i don't receive any record. Any help?
where L.NUMBER = $P{LEASE_NUMBER}
OR L.COMPANY_NAME = $P{COMPANY_NAME}
AND (L.END_DATE BETWEEN $P{DateFrom} AND $P{DateTo}
OR $X{EQUAL, L.END_DATE, dateRange})
I think this is closer to the logic you are looking for:
where (L.NUMBER = $P{LEASE_NUMBER} OR $P{LEASE_NUMBER} IS NULL) and
(L.COMPANY_NAME = $P{COMPANY_NAME} OR $P{COMPANY_NAME} IS NULL) and
(L.END_DATE BETWEEN $P{DateFrom} AND $P{DateTo} OR
$X{EQUAL, L.END_DATE, dateRange}
)
I'm not sure about the expression on time. Your question has not explanation of DateFrom
.