我需要您的協助以下查詢。你能幫忙嗎?沒有執行第二種情況的案例陳述
下面是從Oracle數據庫樣本記錄:
ID:
L7985W6W7W5HJYR5
LJHGTIKFF89EE7HJJU7
LIUH789KEHD7W9JHF
LYUEJDJ8F2NIBRANCH
LOI9DDH7E38BRANCH
L8908HYS6WIBRANCH
PJHS79209KJSJYIEJHSV12
我的本意是,如果b.branch_id
與L
開始,那麼它會刪除前導零和帶字符,但b.branch_id
與‘%BRANCH%'
然後結束我希望它與另一個字段合併,但不起作用。第一部分是工作,如果它開始L
然後它的工作,但不知何故從未執行‘%BRANCH%'
部分。
Select distinct b.branch_id,
b.branch_date
CASE
WHEN b.branch_id like L%'
THEN TRIM(substr((TO_CHAR(TRIM(LEADING 0 FROM b.branch_id))),-10))
WHEN b.branch_id like ‘%BRANCH%'
THEN substr(b.branch_loc,2,9) || substr(i.branch_name,1,9)
END AS BRANCH_INFO
from tbl_brach b
JOIN tbl_branch_info i
on b.branch_id = i.branch_id_key
where b.branch_id like L%'
如果你只想在最後得到分支的東西,你應該使用'like'%BRANCH'' – Laurel
爲什麼你會期望當它匹配第一個分支的條件時它進入第二個分支? –
這些是case表達式,而不是case語句。 – jarlh