我想使用case語句來確定應該執行哪個select語句。
我想檢查變量:SSN
的第三個字符。如果第三個字符是短劃線,則使用第一個SQL語句來掩蓋前5個數字(XX-XXX1234
)。否則,使用第二條SQL語句來掩蓋前5個數字(XXX-XX-1234
)。使用PLSQL CASE語句
這是什麼正確的語法?
select case
when substr(:SSN, 3,1) = '-' then
SELECT 'XX-XXX'||substr(:SSN, 7,4) INTO :MaskedSSN FROM DUAL
else
SELECT 'XXX-XX-'||substr(:SSN, 8,4) INTO :MaskedSSN FROM DUAL
end
如果您在PL/SQL中而不僅僅是在SQL查詢中,爲什麼不使用簡單的IF? –