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


相关推荐

  • Linux上mariadb的安装与配置

    Linux上mariadb的安装与配置yum源安装MySQL和开启设置服务  首先,我们来看看使用yum源安装MySQL的优缺点:  优点:安装方便快捷,安装方式简单  缺点:太过于死板,定死了各个文件的位置1、打开官方网站,上边有各种版本的yum源,找到自己想要的版本设置yum源官网:https://downloads.mariadb.org/mariadb/repositories/2、如果我们使用官网…

    2022年6月6日
    120
  • html怎么隐藏播放器_css遮罩

    html怎么隐藏播放器_css遮罩<!DOCTYPEhtml><htmllang=”en”><head><metacharset=”UTF-8″><metaname=”viewport”content=”width=device-width,initial-scale=1.0″><metahttp-equiv=”X-UA-Compatible”content=”ie=edge”><title>视.

    2025年5月26日
    12
  • DotNetty完全教程(一)

    DotNetty完全教程(一)写本系列文章的目的我一直以来都在从事 NET 相关的工作 做过工控 做过网站 工作初期维护过别人写的网络库 后来自己写网络库 我发现在使用 C 编程的程序员中 能否写出高性能的网络库一直都是考验一个程序员能力的标杆 为了写出高性能的网络库 我查阅了很多资料 发现 Java 的 Netty 有着得天独厚的设计以及实现优势 Java 也因为 Netty 的存在 在开发大吞吐量的应用程序中得心应手 我想 NET 程序

    2026年3月18日
    3
  • nginx 优雅重启_查看nginx是否启动

    nginx 优雅重启_查看nginx是否启动#1.检测修改过后的配置文件是否有错误 /usr/local/nginx/sbin/nginx-t #如果没问题会返回: #nginx:theconfigurationfile/usr/local/nginx/conf/nginx.confsyntaxisok #nginx:configurationfile/usr/local/nginx/conf/nginx.conftestissuccessful#2.平滑重启 /usr/local/nginx/s

    2022年8月13日
    10
  • 设计模式-工厂模式

    设计模式-工厂模式

    2021年5月25日
    126
  • java IO流之BufferedReader和BufferedWriter[通俗易懂]

    java IO流之BufferedReader和BufferedWriter[通俗易懂]笑霸能看懂的学习笔记

    2022年6月2日
    59

发表回复

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

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