请教用 LIKE 怎么模糊查询出全部是32开头的,而且是32后面第一个字是0,1,2,3,开头的的所有单品号;
相当于是,320,321,322,323所有单品号在SQL 里是可以这样写的 SELECT ITEMCODE FROM TMP WHERE LIKE '32[0123]%'在ORACLE 里就不知怎么写了?
ITEMCODE
3201247
3201244
3211111
3215477
3224477
3230231
3245888

解决方案 »

  1.   


    SELECT ITEMCODE FROM TMP WHERE REGEXP_LIKE(ITEMCODE,'^32[0123].+');
      

  2.   

    SELECT * FROM table_name WHERE regexp_like(name1,'32[0-3]');试试这个,怎么样。
      

  3.   

    with m as(
    select '3201247' str from dual union all
    select '3211247' str from dual union all
    select '32412w7' str from dual union all
    select '32212e7' str from dual union all
    select '3231237' str from dual union all
    select '3231227' str from dual 
    )
    select substr(m.str,1,3),STR
    FROM M,(
    select '32'||to_char(rownum - 1) P from dual connect by rownum<=4)T
    WHERE substr(m.str,1,3)= T.P;