oracle split 分割字符串,Oracle字符串分割Split[通俗易懂]

oracle split 分割字符串,Oracle字符串分割Split[通俗易懂]Oracle字符串分割Split一、创建数组类型Sql代码CREATEORREPLACETYPET_RET_TABLEISTABLEOFVARCHAR2(512)二、创建字符串分割函数Sql代码CREATEORREPLACEFUNCTIONF_SPLIT_STRING(AS_STRVARCHAR2,AS_SPLITVARCHAR2)RETURNT_RET_TABL…

大家好,又见面了,我是你们的朋友全栈君。

Oracle字符串分割Split

一、创建数组类型

Sql代码

CREATE OR REPLACE TYPE T_RET_TABLE IS TABLE OF VARCHAR2(512)

二、创建字符串分割函数

Sql代码

CREATE OR REPLACE FUNCTION F_SPLIT_STRING(AS_STR   VARCHAR2,

AS_SPLIT VARCHAR2)

RETURN T_RET_TABLE IS

— Author  : Guomm

— Created : 2013/5/22 13:38:46

— Purpose : 字符串分割

— Params

— AS_STR : 要处理的字符串

— AS_SPLIT :字符串分割符

V_OUT     T_RET_TABLE;

V_TMP     VARCHAR2(4000);

V_ELEMENT VARCHAR2(4000);

BEGIN

V_TMP := AS_STR;

V_OUT := T_RET_TABLE();

–如果存在匹配的分割符

WHILE INSTR(V_TMP, AS_SPLIT) > 0 LOOP

V_ELEMENT := SUBSTR(V_TMP, 1, INSTR(V_TMP, AS_SPLIT) – 1);

V_TMP     := SUBSTR(V_TMP,

INSTR(V_TMP, AS_SPLIT) + LENGTH(AS_SPLIT),

LENGTH(V_TMP));

V_OUT.EXTEND(1);

V_OUT(V_OUT.COUNT) := V_ELEMENT;

END LOOP;

IF V_TMP IS NOT NULL THEN

V_OUT.EXTEND(1);

V_OUT(V_OUT.COUNT) := V_TMP;

END IF;

RETURN V_OUT;

END F_SPLIT_STRING;

OK,到此功能已经实现,

三、调用

Sql代码

SELECT * FROM TABLE(F_SPLIT_STRING(‘1,2,3,4,5,6′,’,’))

DECLARE

V_ARRAY T_RET_TABLE;

BEGIN

V_ARRAY := F_SPLIT_STRING(‘1,2,3,4,5,6′,’,’);

FOR I IN 1..V_ARRAY.COUNT LOOP

DBMS_OUTPUT.PUT_LINE(V_ARRAY(i));

END LOOP;

END;

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/135809.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 常用的图像处理标准图片(Lena、cameraman等)获取「建议收藏」

    常用的图像处理标准图片(Lena、cameraman等)获取「建议收藏」常用的图像处理标准图片(Lena、cameraman等)获取地址点击此处——>常用的图像处理标准图片

    2022年6月19日
    27
  • MySQL把字符串转化为数字的三种方式[通俗易懂]

    MySQL把字符串转化为数字的三种方式[通俗易懂]问题出现当我用navicat查询时,在varchar字段上where查询使用的是int类型的0【忘记打引号了…】,结果查出一堆其他的字符串,很奇怪。首先,我想到的是类似于betweenand,我以为也是比较的首字母,不过后面我发现并不是的。百度搜素之后发现是在这查询的时候MySQL把字符串转化为数字,并且有几种方式:1.方法一:字段值+0MySql会根据上下文自动转换类型,这里会将被本来是字符类型的字段值以数值型返回,如果字段存放的值为数值字符,则会转换为数值型返回,如果字段存

    2022年5月30日
    39
  • 遍历Arraylist的三种方法及优缺点简单介绍

    遍历Arraylist的三种方法及优缺点简单介绍集合ArrayList是接口List的一种子类,它的特点是:存储的元素是有序的.底层的数据结构是数组.查询快,增删慢.在众多集合中ArrayList的遍历又是比较特殊的,下面就写一下它的三种遍历方式,代码如下:第一种遍历方式:普通for循环第二种遍历方式:增强for循环第三种遍历方式:迭代器importjava.util.ArrayList;importjava.util.Iterator;/***PACKAGE_NAME*/publicclassDemo.

    2022年7月22日
    6
  • python运行pyc文件_Python pyc文件[通俗易懂]

    python运行pyc文件_Python pyc文件[通俗易懂]什么是pyc文件pyc是由py文件经过编译后二进制文件,py文件变成pyc文件后,加载的速度有所提高,而且pyc是一种跨平台的字节码,是由python的虚拟机来执行的。pyc的内容,是跟python的版本相关的,不同版本编译后的pyc文件是不同的,2.5编译的pyc文件,2.4版本的python是无法执行的。pyc文件也是可以反编译的,不同版本编译后的pyc文件是不同。为什么需要pyc文件…

    2022年6月16日
    33
  • DirectX修复工具 4.0 标准版[通俗易懂]

    DirectX修复工具 4.0 标准版[通俗易懂]简介:DirectX修复工具是一款专用于修复系统异常的工具,DirectX修复工具还是一款使用简单易上手操作且绿色、可免安装的修复工具。使用DirectX修复工具可自动更新C++组件且完美修复0xc000007b问题异常。如果你的电脑出现了DirectX的异常问题,可直接下载DirectX修复工具进行修复解决。DirectX修复工具功能特色:1、一键完成检测修复,只要简单一键选择就能完成检测、修复、注册等一系列问题,使用门槛低,操作简单,真正的傻瓜设计。2、适用多个操作系统,directx修

    2022年6月3日
    67
  • C语言利用数组和文件登录注册功能

    C语言利用数组和文件登录注册功能

    2021年6月13日
    104

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号