[Oracle]分割字符串返回数组
2009-01-15 18:56
274 查看
CREATE OR REPLACE TYPE mytable AS TABLE OF varchar2(100) /
CREATE OR REPLACE FUNCTION split (src VARCHAR2, delimiter varchar2) RETURN mytable IS psrc VARCHAR2(500); a mytable := mytable(); i NUMBER := 1; -- j NUMBER := 1; BEGIN psrc := RTrim(LTrim(src, delimiter), delimiter); LOOP i := InStr(psrc, delimiter, j); --Dbms_Output.put_line(i); IF i>0 THEN a.extend; a(a.Count) := Trim(SubStr(psrc, j, i-j)); j := i+1; --Dbms_Output.put_line(a(a.Count-1)); END IF; EXIT WHEN i=0; END LOOP; IF j < Length(psrc) THEN a.extend; a(a.Count) := Trim(SubStr(psrc, j, Length(psrc)+1-j)); END IF; RETURN a; END; /
数组作为select in的查询条件
SELECT * FROM student WHERE id IN (SELECT * FROM TABLE(CAST(split('001,002', ',')AS mytable)));
SELECT * FROM student WHERE id IN ( SELECT id FROM student WHERE id='001' UNION SELECT * FROM TABLE(CAST(split('001,002',',') AS mytable)) );
相关文章推荐
- ORACLE(PL/SQL) 根据字符分割(SPLIT)字符串返回数组
- [Oracle]分割字符串返回数组
- [Oracle]分割字符串返回数组
- 分割字符串成数组并返回数组的长度(Oracle)
- Bag标签之把字符串分割成数组,返回一个存放数组数据的书包(Bag)
- oracle 数据库 分割字符串返回结果集函数
- Lua 用指定字符或字符串分割输入字符串,返回包含分割结果的数组
- oracle函数实现字符串分割,返回表格式的结果集
- sql按指定符号分割字符串,返回分割后指定索引的第几个元素,象数组一样方便
- oracle 使用存储过程分割字符串为数组
- 字符串按照一定长度分割并返回数组!(String按照给定长度分割)
- oracle根据分隔符将字符串分割成数组函数
- 把字符串分割成固定长度的片段,返回数组
- C 语言 实现 字符串 分割 函数(返回"二维字符数组",及分割后的字符数组的长度)
- jquery之each循环遍历的方法---split 分割字符串返回数组
- C 语言 实现 字符串 分割 函数(返回"二维字符数组",及分割后的字符数组的长度)
- oracle 分割动态字符串为数组
- split分割字符串返回字符串数组
- 以某个分隔符作为标记分割字符串,返回一个数组
- oracle怎么切割一个指定的字符串按指定的标志符分割成字符数组