查询姓名字段,如果包含非汉字字符的全部查出来.例如逗号,句号,0123456789和特殊符号等..急用.

解决方案 »

  1.   

    select * from(
      select '我' a from dual union all
      select '我们' from dual union all
      select 'abc' from dual union all
      select 'a我' from dual union all
      select '我 ' from dual)
    where asciistr(replace(a,'\','#')) not like rpad('\____',length(a)*5,'\____')
      

  2.   

    --找出所有英文半角字符
    DECLARE
      str    VARCHAR2(20) := '张1三23';
      engstr VARCHAR2(20) := '';
    BEGIN
      FOR i IN 1 .. length(str) LOOP
        IF lengthb(substr(str, i, 1)) = 1 THEN
          engstr := engstr || substr(str, i, 1);
        END IF;
      END LOOP;
      dbms_output.put_line(engstr);
    END;
    /
      

  3.   

    select * from test t where lengthb(t.name)<>2*length(t.name)
      

  4.   

    select * from temp t where lengthb(t.name)<>2*length(t.name)
      

  5.   

    啊.晕
    分给错了!!!
    wildwave
    我再开个贴给你分...