首页 > 数据库 >Oracle自定义splitstr

Oracle自定义splitstr

时间:2023-04-11 11:59:11浏览次数:36  
标签:STRING 自定义 splitstr NUMBER START LENGTH Oracle

 

CREATE OR REPLACE FUNCTION SPLITSTR(P_STRING    IN VARCHAR2,
                                    P_DELIMITER IN VARCHAR2)
  RETURN STR_SPLIT
  PIPELINED AS
  V_LENGTH NUMBER := LENGTH(P_STRING);
  V_START  NUMBER := 1;
  V_INDEX  NUMBER;
BEGIN
  WHILE (V_START <= V_LENGTH) LOOP
    V_INDEX := INSTR(P_STRING, P_DELIMITER, V_START);
  
    IF V_INDEX = 0 THEN
      PIPE ROW(SUBSTR(P_STRING, V_START));
      V_START := V_LENGTH + 1;
    ELSE
      PIPE ROW(SUBSTR(P_STRING, V_START, V_INDEX - V_START));
      V_START := V_INDEX + 1;
    END IF;
  END LOOP;

  RETURN;
END SPLITSTR;

--调用

SELECT SPLITSTR('a,b,c,d',',') FROM DUAL

 

标签:STRING,自定义,splitstr,NUMBER,START,LENGTH,Oracle
From: https://www.cnblogs.com/crrc/p/17305749.html

相关文章

  • 小程序自定义省市二级联动
    conststr=[{id:"110000",name:"北京市",city:[{id:"110100",name:"北京市",area:[{id:"110101",name:"东城区"},{id:"110102",name:"西城区"},{id:"110105",name:"朝阳区"},{id:"......
  • python写入数据到oracle clob字段
     环境:Python:3.6.5  #!/usr/bin/envpython#coding=utf-8importos,json,urllib,datetime,shutilimporttimeimportcx_Oraclegl_mysql_server="192.168.1.118"gl_user_name="hxl"gl_password="mysql"gl_db_name="db_t......
  • Java实现自定义LRU算法
    classLRUCache{//key->Node<key,val>privateHashMap<Integer,Node>map;//Node(k1,v1)<->Node(k2,v2)privateDoubleListcache;//最大容量privateintcap;publicLRUCache(intcapacity){this.c......
  • 6.自定义Form表单验证
    在web程序中存在大量的表单数据验证,而我们通过self.get_argument(arg)进行获取用户输入参数验证会存在的重复代码 1.自定义表单app.py文件代码如下:MyForm类对象属性中封装需要验证的字段并与浏览器中验证的字段保持一致,MyForm类中check_valid方法获取用户输入的参数并进行验证......
  • 区块链学习(9)-自定义修饰词modifier
    在Solidity中,修饰词(modifier)是一种代码重用和逻辑抽象的方法,用于修改函数的行为。它可以在函数执行前进行预处理(如检查条件、权限等),或在函数执行后进行后处理。修饰词在智能合约中非常有用,尤其是用于访问控制、状态检查和重入保护等场景。修饰词定义和使用:要定义一个修饰词,需要使用......
  • [golang]使用logrus自定义日志模块
    简介logrus是一个第三方日志库,性能虽不如zap和zerolog,但方便易用灵活。logrus完全兼容标准的log库,还支持文本、JSON两种日志输出格式。特点相较于标准库,logrus有更细致的日志级别,从高到低分别是:trace>debug>info>warn>error>fatal>panic支持自定义日志格式,内置支......
  • Context响应,重定向,自定义函数,Abort
    前言:Context对象提供了很多内置的响应形式,JSON、HTML、Protobuf、MsgPack、Yaml、String等。它会为每一种形式都单独定制一个渲染器。Context是Gin最重要的部分。它允许我们在中间件之间传递变量,管理流程,验证请求的JSON并呈现JSON响应。正文: content响应字符串,json,及......
  • ES搜索框架--自定义评分规则
    一、评分规则需求按照用户画像(不同的标签分数)和用户省份在用户查询时,对查询结果进行自定义评分二、ES自定义评分方式参考:博客:https://blog.csdn.net/W2044377578/article/details/128636611官网:https://www.elastic.co/guide/en/elasticsearch/guide/master/function-score-query.......
  • vue iview table实现动态自定义表头
    一、前言众所周知,iview中有一个表格组件Table,用于展示多条结构类似的数据。之前遇到过一个需求,要手动控制table的表头显示。就是假如table表格一共有10列数据,可以通过设置勾选,决定显示多少列二、代码为了代码的复用性,将配置页面单独抽成了组件,所以代码中会有组件之间传值父组件......
  • GORM自定义类型
    GORM自定义类型官网地址官方也有一个用来收集自定义的类型的仓库:https://github.com/go-gorm/datatypes场景时间类型初始的时间类型只有time.time类型,而我们习惯输入和展示的结构是形如2023-04-0812:12:12这种。这种格式需要被程序转化为time.time类型被orm使用,从数据库......