1 1 --提取汉字,去掉非汉子数据 2 2 3 3 --创建函数 4 4 Create Or Replace Function f_Getch(Str Varchar2) Return Varchar2 Is 5 5 i Int; 6 6 Sub_Str Varchar2(500); 7 7 Str2 Varchar2(500); 8 8 Str1 Varchar2(500); 9 9 Len Int; 1010 Begin 1111 Str2 := Str; 1212 Select Length(Str2) Into i From Dual; 1313 While i > 0 Loop 1414 Select Substr(Str2, 1, 1) Into Sub_Str From Dual; 1515 Select Lengthb(Sub_Str) Into Len From Dual; 1616 If Len = 3 Then 1717 Str1 := Str1 || Sub_Str; 1818 End If; 1919 Select Substr(Str2, 2, Length(Str2)) Into Str2 From Dual; 2020 Select Length(Str2) Into i From Dual; 2121 End Loop; 2222 Return Str1; 2323 End; 2424 2525 2626 2727 --创建测试数据 2828 create table tests( 2929 name varchar2(200) 3030 ); 3131 3232 insert into tests (name) 3333 values('你a好,你1吃D饭S了s吗'); 3434 3535 3636 --测试函数 3737 select f_Getch(name) from tests
Oracle 提取汉子去除非汉子数据(保留标点符号)
Wesley13
2021-10-11
1017 0 0
点赞
收藏
评论区
加载中...