oracle过滤分割字符串自定义函数】的更多相关文章

该函数实现过滤前后的指定的字符串,诸如过滤分隔符等.可用于过滤字符串中的逗号分割符.特别说明:substr()函数支持从字符串倒数开始读取,例如: dbms_output.put_line( substr('Hello World',-3,3)); 执行结果:rld --过滤字符串前后的多疑字符,诸如过滤字符串前后的多余逗号 Function Fn_DislodgeSplitChar( P_FacultyList In Varchar2 Default '', P_FacultyChar In…
现在有这么一个需求, 数据库中的一个手输的'籍贯'字段,要按一定的规范截取显示在报表上,比如,如果'籍贯'的内容是:'山东省潍坊市昌乐县', 那么报表里要显示为:'山东昌乐', 如果'籍贯'是山东省潍坊市寒亭区 那么就要出来 山东潍坊,简化的基本需求就是这样,取省一级和县一级,如果县一级是个区,那就取到市一级, 没有县一级的话,是数据不规范,但是先将就着取省一级和市一级. 要实现这个目的,第一是要从数据库里把相应的字段取出来, 第二是要写一个oracle截取字符串的函数处理下'籍贯'字段. 第一…
REGEXP_SUBSTR的使用:通过REGEXP_SUBSTR进行数据分割: , LEVEL, 'i') AS STR FROM DUAL CONNECT BY LEVEL <= LENGTH(; 查询结果:…
下面我直接上传一串代码源码, create or replace function strsplit(p_value varchar2, p_split varchar2 := ',') --usage: select * from table(strsplit('1,2,3,4,5')) 示列 return strsplit_type pipelined is v_idx integer; v_str varchar2(500); v_strs_last varchar2(4000) := p…
CREATE OR REPLACE FUNCTION "UFN_SPLIT" (      p_list varchar2,      p_sep varchar2 := ','   )  return TYPE_SPLIT pipelined    is      l_idx  pls_integer;      v_list  varchar2(4000) := p_list;       v_num number(18,0) := 1;       o_TABLESPLIT  O…
inData='12345|张三|男' SELECT REGEXP_SUBSTR (inData, '[^|]+', 1,1) into 用户ID FROM DUAL;SELECT REGEXP_SUBSTR (inData, '[^|]+', 1,2) into 用户姓名 FROM DUAL;SELECT REGEXP_SUBSTR (inData, '[^|]+', 1,3) into 性别 FROM DUAL;…
在oracle数据库中,进行字段合并,可以使用wm_concat(column)函数,但是在这种方法不被Oracle所推荐,因为WMSYS用户用于Workspace Manager,其函数对象可能因版本而不同而出现异常,这种变化在11.2.0.3及10.2.0.5中体现出来.原本WM_CONCAT函数返回值为VARCHAR2,但在一些版本下就会变更为CLOB.这一变化导致了很多程序的异常. Oracle建议用户使用自定义函数来实现该功能,而不是使用WorkSpace的这个内部函数.这个函数包含一…
.copy(str,pos,num) 从str字符串的pos处开始,截取num个字符的串返回. 假设str为,)=,)='def' .concat(str1,str2{,strn}) 把各自变量连接起来,返回连接后的字符串(长度不能超过255) .length(str) 返回str的字符个数,即其长度. .pos(obj,target) 在target字符串中找出第一个出现obj的第一个字符位置,如果找不到,返回0. .AnsiStrLastChar('你好')结果是“好”.如果有半个汉字出现,…
微软SQL Server数据库中包含了很多内置的函数,入下图: 它们用于处理日期.数学.元数据.字符串等. 其中最为常用的就是处理字符串,里面包含了CharIndex()等函数,非常方便使用. 但是对于 特殊字符串的处理,比如:ISBN号 '978-7-5007--7',如果想获取第三个与第四个分割符号之间的数字, 那么SQL 内置函数无法直接做到.这时就需要自定义函数.下面自定义三个函数,用于处理特殊的字符串. 一.按指定符号分割字符串,返回分割后的元素个数 ALTER FUNCTION [d…
/*自定义oracle的分割函数*//*定义一个type,用户接收返回的数据集合类型*/create or replace type splitType as table of varchar2(4000); /* 参数1: 被分割的字符串 参数2:分割字符串,默认是英文逗号*/create or replace function split_str(str varchar2, split_char varchar2:=',') return splitType pipelinedis idx…