select name from tab_name where name like‘张%’ or name like‘李%’or name like‘王%’or name like‘赵%’;类似这样的语句,怎样写才能简化一下多个like??

解决方案 »

  1.   


    with temp as(
    select '张三' name from dual
    union all
    select '李四' name from dual
    union all
    select '王五' name from dual
    union all
    select '赵六' name from dual
    union all
    select '钱七' name from dual
    )
    select name,substr(name,1,1) from temp where substr(name,1,1) in ('张','王');
      

  2.   


    --楼主是嫌麻烦 呵呵
    select name from tab_name where substr(name,1,1) in('张','李','王','赵')
      

  3.   

    WHERE regexp_like(NAME,'^(张|李|王|赵)')