我需要根據外部引數的值過濾列,但我不知道如何處理 NULL 情況,因為它需要不同的語法。我所擁有的是這樣的:
WHERE c.fruit LIKE
(CASE :fruitParam
WHEN 'Orange' THEN 'OR'
WHEN 'Apple' THEN 'APL'
WHEN 'Any' THEN '%'
WHEN 'None' THEN NULL -- doesn't work since we can't do: LIKE NULL
END)
在這種情況下,需要在 where 中回傳一些行c.fruit is null。有沒有另一種寫法,當引數“fruitParam”為“None”時,我們可以設定條件:c.fruit IS NULL?
這是使用 Oracle。
uj5u.com熱心網友回復:
你可以把它移到另一個子句中:
WHERE (c.fruit LIKE
CASE :fruitParam
WHEN 'Orange' THEN 'OR'
WHEN 'Apple' THEN 'APL'
WHEN 'Any' THEN '%'
END)
or (:fruitParam = 'None' and c.fruit is null)
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/467732.html
