在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
Run Code Online (Sandbox Code Playgroud)
但我得到"无效的关系运营商".
你可以试试:
SELECT discount_amount
FROM vw_ph_discount_data
WHERE sysdate > start_date
AND sysdate < nvl(end_date,sysdate+1)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
26896 次 |
| 最近记录: |