十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
Oracle中的Split函数用法:

成都创新互联公司从2013年成立,是专业互联网技术服务公司,拥有项目网站建设、成都网站制作网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元无锡做网站,已为上家服务,为无锡各地企业和个人服务,联系电话:18980820575
首先需要定义 2 个类型
1. Row 类型
CREATE OR REPLACE TYPE ty_row_str_split as object (strValue VARCHAR2 (4000))
2. Table 类型
CREATE OR REPLACE TYPE ty_tbl_str_split IS TABLE OF ty_row_str_split
再创建函数:
CREATE OR REPLACE FUNCTION fn_split(p_str IN VARCHAR2,
p_delimiter IN VARCHAR2)
RETURN ty_tbl_str_split IS
分割字符串用substr函数即可。如:字符串为abc123,现在要截取成abc和123。select substr('abc123',1,3),substr('abc123',4,3) from dual;函数说明:substr('abc123',1,3)其中abc123是要被截取的字符串,1,代表从第一位开始截取,3代表要截取的长度。
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 NOT NULL
order by 1
返回结果:
TOKEN
23
oracle 中可以用connect by把字符串按都好分割:比如定义字符串:pv_no_list :='23,34,45,56';SELECT DISTINCT REGEXP_SUBSTR (pv_no_list,'[^,]+',1,LEVEL) as "token"FROM DUALCONNECT BY REGEXP_SUBSTR (pv_no_list,'[^,]+',1,LEVEL) IS NOT NULLorder by 1返回结果:TOKEN23344556
到此,以上就是小编对于oracle中split函数用法的问题就介绍到这了,希望这3点解答对大家有用。