rwhn.net
当前位置:首页 >> orAClE 端怎么把字符串分割成数组 >>

orAClE 端怎么把字符串分割成数组

如果要处理的字符串是有规律的,可以自己写一个split函数。这个网上很多,搜下就好。

(1)定义split_type类型: CREATE OR REPLACE TYPE split_type IS TABLE OF VARCHAR2 (4000) / (2)定义split函数: CREATE OR REPLACE FUNCTION split (p_str IN VARCHAR2, p_delimiter IN VARCHAR2) RETURN split_type IS j INT := 0; i INT...

给你写了个包,包体代码如下: CREATE OR REPLACE PACKAGE BODY Pkg_Baidu IS -- 自定义个数组类型 TYPE Typ_Str_Array IS TABLE OF VARCHAR2(200) INDEX BY BINARY_INTEGER; PROCEDURE Prc_String_To_Array(Pv_i_String IN VARCHAR2, Pv_i_Iden...

oracle 中可以用connect by把字符串按都好分割: 比如定义字符串: pv_no_list :='23,34,45,56'; SELECT DISTINCT REGEXP_SUBSTR (pv_no_list,'[^,]+',1,LEVEL) as "token" FROM DUAL CONNECT BY REGEXP_SUBSTR (pv_no_list,'[^,]+',1,LEVEL) IS...

with temp as ( select name as text from a ) select substr(text,instr(text,',',1,rn)+1,instr(text,',',1,rn+1)-instr(text,',',1,rn)-1) text from ( select ','||t1.text||',' text,t2.rn from (select text,length(text)-length(replace(...

给你个存储过程 CREATE PROCEDURE p_split @c varchar(8000), @split varchar(5) as declare @t table( word varchar(20) ) begin while(charindex(@split,@c)0) begin insert @t( word) values (substring(@c,1,charindex(@split,@c)-1)) set @...

之前我保存的经典的方法,你可以参考下 首先创建一张表t_al_test_sy 字段分别为:pid,str_id,str_dm,str_mc; 存储过程如下: create or replace procedure p_al_output as str_id varchar(60); str_dm varchar(60); str_mc varchar(800); str_s...

写function或procedure来分隔。 首先声明一个数组类型: -- 字符串集合 TYPE Typ_Tab_Str IS TABLE OF VARCHAR(150) INDEX BY BINARY_INTEGER; -- 写一个函数 CREATE OR REPLACE FUNCTION Fun_Stringtoarrary(P_Sourcestr IN VARCHAR2, -- 源字...

把string split构成一个虚拟表 提示:用正则表达式 + connect by递归 + regexp_substr 或者 substr / instr 用这个虚拟表与原表进行关联

Oracle 需要首先在数据库中, 创建好 类型 与 函数。 来实现一个 split 功能的处理。 CREATE OR REPLACE TYPE ty_row_str_split as object (strValue VARCHAR2 (4000)); / CREATE OR REPLACE TYPE ty_tbl_str_split IS TABLE OF ty_row_str_spli...

网站首页 | 网站地图
All rights reserved Powered by www.rwhn.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com