我試圖在一個sql查詢中使用IF ELSE陳述句,因為遺留的應用程式需要用戶輸入并運行同一個查詢。根據用戶的輸入,我需要不同的結果。 以下是我想實作的目標:
SELECT * FROM TABLE_A a, TABLE_B b
where a.user_id = b.user_id
AND IF
b.last_name = '' or b.last_name = NULL
THEN
a.user_id in (1, 2, 3) or a.user_name in ('John'/span>, 'Mark'/span>, 'Lucas'/span>)
ELSE[/span]。
b.last_name = 'DOE'/span>
uj5u.com熱心網友回復:
IF是一個PL/SQL陳述句,你不能在SQL中使用它
只要使用AND和OR:
SELECT *
FROM TABLE_A a
INNER JOIN TABLE_B b
ON a.user_id = b.user_id
WHERE ( b.last_name IS NULL )
AND ( a.user_id in ( 1, 2, 3)
OR a.user_name in ('John'/span>, 'Mark'/span>, 'Lucas'/span>)
)
OR b.last_name = 'DOE'
注意:在Oracle中,空字串和NULL是相同的。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/324993.html
標籤:
上一篇:在oracle中"_hash_join_enabled"的用途是什么?oracle如何在內部確定嵌套回圈和哈希連接優化器?
下一篇:OracleSQL-小時板塊
