ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 汉字过滤,过滤掉所有非汉字字符。

汉字过滤,过滤掉所有非汉字字符。

原创 Linux操作系统 作者:sunnily 时间:2019-06-08 15:09:04 0 删除 编辑
create or replace function f_hanzi_filter
(v_hanzi nvarchar2) return nvarchar2 is
v_filted nvarchar2(1000);

m_length integer;
m_single_hanzi nvarchar2(2);
m_count integer;
begin
m_length:=length(v_hanzi);
v_filted:='';

if v_hanzi is null then
return '*';
end if;

for i in 1..m_length loop
m_single_hanzi:=substr(v_hanzi,i,1);

select count(*)
into m_count
from t_py_char s
where s.hanzi like '%'||m_single_hanzi||'%';

if m_count>0 then
v_filted:=v_filted||m_single_hanzi;
else
return (v_filted);
end if;
end loop;

return(trim(v_filted));
exception
when others then
return(null);
end ;

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/77580/viewspace-212677/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2004-04-19

  • 博文量
    139
  • 访问量
    125829