sql语句转义特殊字符 给Oracle添加split和splitstr函数的方法?

给Oracle添加split和splitstr函数的方法?oracle的split函数截取如何返回成一行数据CREATEORREPLACETYPEty_str_splitISTABLEOFVARCHA

给Oracle添加split和splitstr函数的方法?

oracle的split函数截取如何返回成一行数据

CREATEORREPLACETYPEty_str_splitISTABLEOFVARCHAR2(4000)

CREATEORREPLACEFUNCTIONsplit(p_strINVARCHAR2,p_delimiterINVARCHAR2)

RETURNty_str_split

IS

jINT:=0

iINT:=1

lenINT:=0

len1INT:=0

strVARCHAR2(4000)

str_splitty_str_split:=ty_str_split()

BEGIN

len:=LENGTH(p_str)

len1:=LENGTH(p_delimiter)

WHILEj

如何将oracle中一条数据拆分成多条?

例如表名为test,数据如下

原数据为

col1 col2 col3 col4

A 1 2 3

B 1 2 3

然后用如下语句

select * from

(select col1,col2 from test

union all

select col1,col3 from test

union all

select col1,col4 from test) as t

order by col1

得到的数据就是

A 1

A 2

A 3

B 1

B 2

B 3