在Oracle中是否可以在WHERE子句中放置条件IF语句?
我希望在今天之前过滤所有具有结束日期的行.如果结束日期为空,则不应对其进行过滤.我试过这个:
SELECT discount_amount FROM vw_ph_discount_data WHERE sysdate > start_date AND IF end_date IS NOT EMPTY THEN sysdate < end_date
但我得到“无效的关系操作符”.
解决方法
你可以试试:
SELECT discount_amount FROM vw_ph_discount_data WHERE sysdate > start_date AND sysdate < nvl(end_date,sysdate+1)