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,'\____')
--找出所有英文半角字符 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; /
select * from test t where lengthb(t.name)<>2*length(t.name)
select * from temp t where lengthb(t.name)<>2*length(t.name)
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,'\____')
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;
/
分给错了!!!
wildwave
我再开个贴给你分...