字符分隔函数是很常用的, oracle暂时没有默认实现,需要自己编写.

--创建一个  type  ,如果为了使split函数具有通用性,请将其size 设大些。

CREATE OR REPLACE type strsplit_type

AS

TABLE OF VARCHAR2(50);

CREATE OR REPLACE FUNCTION strsplit(

p_value VARCHAR2,

p_split VARCHAR2 := ',')

--usage: select * from table(strsplit('1,2,3,4,5'))

RETURN strsplit_type pipelined

IS

v_idx INTEGER;

v_str VARCHAR2(500);

v_strs_last VARCHAR2(4000) := p_value;

BEGIN

IF p_value IS NULL OR LENGTH(trim(p_value))<1 THEN

RETURN;

END IF;

IF p_split IS NULL OR LENGTH(trim(p_split))<1 THEN

pipe row(p_value);

RETURN;

END IF;

LOOP

v_idx := instr(v_strs_last, p_split);

EXIT

WHEN v_idx = 0;

v_str := SUBSTR(v_strs_last, 1, v_idx - 1);

v_strs_last := SUBSTR(v_strs_last, v_idx + 1);

pipe row(v_str);

END LOOP;

pipe row(v_strs_last);

RETURN;

END strsplit;

函数调用示例:

select * from table(strsplit('1,2,3,4,5'));

select * from table(strsplit(null));

select * from table(strsplit('1,2,3',null));

参考资料

[1] oracle的split函数. http://www.cnblogs.com/linbaoji/archive/2009/09/17/1568252.html

[2] Oracle字符分隔函数(split). http://www.cnblogs.com/yudy/archive/2012/07/18/2597874.html

split函数 在oracle,oracle的split函数相关推荐

  1. oracle中split的使用方法,Oracle 自定义split 函数实例详解

    Oracle 自定义split 函数 Oracle没有提供split函数,但可以自己建立一个函数实现此功能.比如"abc defg  hijkl   nmopqr     stuvw  xy ...

  2. oracle中的分隔函数,Oracle中的split字符串分割函数

    首先需要定义 2 个类型 1. Row 类型 CREATE OR REPLACE TYPE ty_row_str_split as object (strValue VARCHAR2 (4000)) ...

  3. splitstr oracle,Oracle 创建 split 和 splitstr 函数

    Sql语句最好依次执行创建/************************************** * name:        split * author:      sean zhang. ...

  4. oracle split 分割字符串,Oracle字符串分割Split

    Oracle字符串分割Split 一.创建数组类型 Sql代码 CREATE OR REPLACE TYPE T_RET_TABLE IS TABLE OF VARCHAR2(512) 二.创建字符串 ...

  5. Oracle 数据库数据排名函数:rank() 和dense_rank() 。

    Oracle 数据库数据排名函数:  rank() 和dense_rank() . --------------------------------------------间断排名(也称强制排名)   ...

  6. Oracle存储过程和自定义函数

    概述 Oracle-procedure解读 Oracle存储过程和自定义函数 PL/SQL中的过程和函数(通常称为子程序)是PL/SQL块的一种特殊的类型,这种类型的子程序可以以编译的形式存放在数据库 ...

  7. Oracle数据库之单行函数

    oracle安装参照: Oracle数据库之安装教程 Oracel数据库总结: Oracle数据库之基本查询 Oracle数据库之单行函数 Oracle数据库之多行函数 Oracle数据库之多表查询 ...

  8. java string()函数_转载java String.split()函数的用法详解

    转载java String.split()函数的用法详解 如果您发现本文排版有问题,可以先点击下面的链接切换至老版进行查看!!!在java.lang包中有String.split()方法的原型是: p ...

  9. oracle自定义函数获取省份,oracle 自定义函数 方法 基本例子

    核心提示:函数用于返回特定数据.执行时得找一个变量接收函数的返回值; 语法如下: create or replace function function_name ( argu1 [mode1] da ...

  10. oracle 求时间差年,Oracle计算时间差常用函数

    两个Date类型字段:START_DATE,END_DATE,计算这两个日期的时间差(分别以天,小时,分钟,秒,毫秒): 天: sql;"> ROUND(TO_NUMBER(END_D ...

最新文章

  1. java_native关键字
  2. Matlab与线性代数 -- 矩阵的连接
  3. 通过WiFi对STC单片机程序下载和调试
  4. php 域名加密授权,php域名授权后 网站才能访问 网站加密 防止拷贝
  5. hadoop中汉字与英文字符混合的keyword做为combine的key的问题
  6. 包含绑定变量的sql进行调优需注意一点
  7. linux more 下一页_Linux学习笔记
  8. TensorFlow:实战Google深度学习框架(四)MNIST数据集识别问题
  9. 如何用python制作九九乘法表_Python一行代码给儿子制作九九乘法表
  10. Java获取上一周、上一个月、上一年的时间
  11. python优化算法_python – 优化算法
  12. mybatis-plus对datetime返回去掉.0_0欧姆电阻只能当导线用?12种用法来学习下
  13. 学完这份风控入门秘籍,再卷也不怕~
  14. mobx中跟新了数据视图没变化_如何做一个好的大数据平台架构
  15. Python 学习笔记---爬取海贼王动漫
  16. 《通关!游戏设计之路》笔记(未整理完)
  17. WPS 2019 用户界面分析
  18. 饿百零售开放平台,测试账号饿了么显示该商家还没有上传商品
  19. 听听股市的几个出了名的魔咒
  20. 2022年考 PMP 证书有什么意义?

热门文章

  1. 『网易实习』周记(五)
  2. python+sklearn实现随机森林模型
  3. C#调用TSC打印机打印数据
  4. PMBOK(第六版) PMP笔记——《六》第六章(项目进度管理)
  5. MATLAB画演化博弈图,演化博弈matlab程序与作图
  6. 如何监控Tuxedo中间件?Oralce TUXEDO监控方案
  7. stc15f2k60f2单片机定时器_STC15F2K60S2系列
  8. 单片机代码真值怎么取反c语言,手把手教你学单片机的C语言程序设计(八)运算符与表达式(续).pdf...
  9. Reflector for .NET 下载问题
  10. 利用MentoHUST在路由器上使用锐捷认证来共享校园网