我需要您的协助以下查询。你能帮忙吗?没有执行第二种情况的案例陈述
下面是从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