splitstr函数

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;

使用splitstr函数

SELECT COLUMN_VALUE FROM TABLE(SPLITSTR('1,9', ',')) ;

假如表A的一列数据有A1,A2等分隔符分开 此时需要对表A的这个字段进行统计

--id中的值可能有1,2 1 2 等

SELECT

R.NAME ,

SUM(DECODE(E.STATUS,1,1,0)) AS 状态为1的总数,

SUM(DECODE(E.STATUS,2,1,0)) AS 状态为2的总数

FROM A E, 字典表 R

WHERE EXISTS (SELECT COLUMN_VALUE

FROM TABLE(SPLITSTR(E.id, ',')) it

WHERE it.column_value = r.id)

GROUP BY R.NAME;

oracle strsplit函数,oracle splitstr 函数相关推荐

  1. Oracle 创建 split 和 splitstr 函数

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

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

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

  3. php instr函数,oracle的instr函数用法

    这几天在做一个项目的时候,做到关于用户组权限分配的问题,用到了Oracle的instr函数,现在好好学习下这个函数吧. 在Oracle/PLSQL中, instr 函数返回要截取的字符串在源字符串中的 ...

  4. log函数 oracle power_数学函数

    abs(x) → [same as input] 返回 x 的绝对值. cbrt(x) → double 返回 x 的立方根. ceil(x) → [same as input] ceiling() ...

  5. oracle字符串提取函数,oracle字符串分割和提取函数定义

    oracle字符串分割和提取函数定义 oracle字符串分割和提取 分割 create or replace function Get_StrArrayLength ( av_str varchar2 ...

  6. .Net程序员学用Oracle系列(10):系统函数(中)

    1.四大转换函数 1.1.TO_CHAR 1.2.TO_NUMBER 1.3.TO_DATE 1.4.CAST 2.两大近似值函数 2.1.ROUND 2.2.TRUNC 3.正则函数 3.1.正则函 ...

  7. oracle中or的替函数,Oracle常用内置Or自定义函数-SQL宝典

    一 .函数使用说明 1.NLSSORT(列名,排序规则) 在oracle9i中新增了按照拼音.部首.笔画排序功能.设置NLS_SORT值 SCHINESE_RADICAL_M   按照部首(第一顺序) ...

  8. oracle中treat函数,Oracle 函数概览

    -- Start Oracle 内置的函数真的是很多,要精通每个函数几乎是不可能的,所以本文并不打算介绍每个函数的具体用法,而是提供一个概览,让您了解每个函数的功能,这样,当你感觉你需要某些功能的函数 ...

  9. oracle 进制,Oracle进制转换函数

    Oracle中没有16进制转2进制的函数,为了工作方便,自己写了一个 create or replace function hex_to_bin(hex varchar2) return varcha ...

  10. oracle和MySQL的日期函数_mysql与oracle的日期/时间函数小结

    前言 本文的日期/时间全部格式化为"2016-01-01 01:01:01"形式: MONITOR_TIME为数据库表字段: 字符串与日期/时间相互转换函数 Oracle 日期/时 ...

最新文章

  1. python3 psutil模块 进程和系统信息
  2. v系列存储配置Linux多路径,linux下san存储多路径软件的配置
  3. 06_基本的图像分类案例、导入图片数据、探索数据的格式、数据预处理、构建模型(设置层、编译模型)、训练模型(Fit模型、评估精确度)、得出预测结果(验证预测结果)、使用训练过的模型
  4. leetcode-7-整数翻转
  5. java安全编码指南之:字符串和编码
  6. 产品经理应该如何设计面包屑原理
  7. 双链表(线性表的链式存储)---C语言版
  8. php if条件循环语句,PHP:IF语句可以单独运行,但不能在WHILE循环内运行
  9. Bitmap-把方形图片处理为圆形
  10. 冲顶大会/芝士超人/花椒直播...答题助手
  11. Android发送网络请求(post,get)工具类
  12. MIT线性代数笔记十四讲 正交向量与正交子空间
  13. 使用vscode开发vue项目
  14. 加班多?交友范围窄?单身互联网人点进来!
  15. 云计算平台为什么是必需的
  16. 笔记:联立方程模型总结
  17. Windows Server 2012计划任务定时执行bat文件
  18. 《机器学习》西瓜书课后习题作业笔记
  19. 搜索引擎优化提示.对关键词的选择应该学会对它的取舍
  20. Mosquitto AUTH认证

热门文章

  1. NetBIOS、NETBEUI、IPX/SPX
  2. HTML+CSS系列教程导学
  3. 一张网络路由器与能源路由器对照表(2015年)
  4. 华为交换机学习指南基于子网划分划分vlan
  5. python获取京东服务器的毫秒级时间
  6. matlab中fft定点运算,可用于嵌入式计算的定点FFT算法 (转载)
  7. Vue-cli3 ,js根据汉字或拼音模糊搜索功能,汉字支持同音字、多音字,支持首字母
  8. CSDN账号,你需要不
  9. Mac和PC在工作中管理的对比(1)
  10. Android 版本检测更新