下記のクエリであなたの援助が必要です。助けてもらえますか?以下はケースステートメントが第2のケースを実行していません
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%'
最後に枝を持つものだけを取りたい場合は、 '%BRANCH 'のように使用してください。 – Laurel
最初のブランチの条件に一致すると、なぜ2番目のブランチに入ると思いますか? –
これらは大文字小文字の区別ではなく、大文字小文字の表現です。 – jarlh