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)
上一篇 2022年6月4日 下午3:46
下一篇 2022年6月4日 下午4:00


相关推荐

  • 使用pycharm的interpreter option为空解决办法「建议收藏」

    使用pycharm的interpreter option为空解决办法「建议收藏」新的py文件,点击直接使用pycharm打开,运行报错,interpreteroption为空第一步:选择File,进入Settings。第二步:1.选择Project中的ProjectInterpreter。2.选择下拉中的pathon解释器,如图为3.6的解释权。3.选择Apply,使设置生效。运行代码成功。…

    2025年7月22日
    10
  • 解释OpenStack组件介绍RabbitMQ的用处_MySQL分布式集群搭建

    解释OpenStack组件介绍RabbitMQ的用处_MySQL分布式集群搭建一、前期环境:准备三台全新的虚拟机关闭防火墙和selinux以防出现错误。更改三台虚拟机的主机名并配置好网卡:hostnamectlset-hostname主机名。修改三台虚拟机文件:vi/etc/hosts将三台主机的IP地址以及主机名写入其中。(注:三台虚拟机之间一定要相互ping通)。……

    2025年10月22日
    6
  • spring4.1 请求rest接口406问题解决(转换JSON)[通俗易懂]

    前文说明,本来项目使用的是springmvc的模式,然后接口都是使用的是@Controller+@ResponseBody配置json转换的代码是

    2022年4月9日
    86
  • vbs代码如何使用Wscript调试

    vbs代码如何使用Wscript调试转自:vbs代码如何使用Wscript调试有些朋友用vbs写代码习惯用MsgBox输出,有时候一段代码调试完输出了一堆MsgBox,调完了还要删掉。遇到想要查看对象的情况更是累的不行…然而,一个编程语言怎么可能没有更好的调试方法,MsgBox写累了的时候试一下用wscript?wscript是Windows脚本宿主,它不需要在调用其属性和方法之前进行实例化,并且

    2022年5月16日
    43
  • 计算机基础之位移运算

    计算机基础之位移运算1 前言二进制整数最终都是以补码的形式呈现的 正数的最高位是 0 负数的最高位是 1 正数的原码 补码 反码都一样 负数的反码为原码取反 补码为反码加 1 位移运算有两种 一种是带符号位移运算一种是不带符号位移运算 2 带符号位移运算 lt 与 gt 带符号位移运算分为 lt lt 左移 与 gt gt 右移 这两种位移 都是针对补码运算 符号位均参与位移运算 除 与

    2026年3月19日
    1
  • mpu6050计步原理_佳明速度传感器安装

    mpu6050计步原理_佳明速度传感器安装下面三部分内容包括:计步原理、基于MPU6050的计步实现、基于MPU6050的久坐检测实现,第一部分为转载内容,做东西最好要了解下关键部分的原理。一、计步原理以下转自:http://www.elecfans.com/yuanqijian/sensor/20170816539797.html1.先要摸清模型的特征目前,大部分设备都提供了可以检测各个方向的加速度传感器…

    2026年4月17日
    6

发表回复

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

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