公司開發中碰見的一個問題,卡的種類的判斷,若是卡的id中包含「CREDIT」則爲信用卡,包含「DIBIT」則爲借記卡,因而想到了使用case when的方式進行判斷,因爲有涉及到了包含匹配的問題,like %是首選,到網上搜了一下並通過實驗證實case when like % 一塊使用的正確性。 sql
select fcb.id as id, fcb.status, c.CUSTOMERNUMBER as customernumber, c.FULLNAME as customerfullname, b.FULLNAME as bankname, f.DESCRIPTION as frpname, case when b.id like '%CREDIT' then '信用卡' when b.id like '%DEBIT' then '借記卡' end as banktype from FastPayCustomerBranch fcb ,frp f ,bank b ,customer c where fcb.FRP_ID=f.ID and fcb.BANK_ID= b.ID and fcb.CUSTOMER_ID=c.id規律以下:
Select when column1 like '%包含內容%' then '結果1' when column1 like '%包含內容%' then '結果2' else '結果三' end as otherName, from table where 條件