トップページに戻る    次のSQLパズルへ    前のSQLパズルへ

2-2-2 case式とLike演算子

SQLパズル

任意の文字列に、
aaaaという文字列が含まれていたら1、含まれてなかったら0
を取得する


SQL

#■■■Like演算子を使う方法■■■
select Val,case when Val Like '%aaaa%' then 1 else 0 end as IsMatch
from (select 'aaa' as Val
union select 'aaaa'
union select 'aaaaa'
union select 'aaaac'
union select 'bb'
union select 'caaaa') dummy
order by Val;

#■■■正規表現を使う方法■■■
select Val,case when Val RegExp "a{4}" then 1 else 0 end as IsMatch
from (select 'aaa' as Val
union select 'aaaa'
union select 'aaaaa'
union select 'aaaac'
union select 'bb'
union select 'caaaa') dummy
order by Val;


解説

case式とLike演算子もしくは、正規表現を組み合わせると
文字列がパターンにマッチする、しないでの分岐が可能です