oracle+逗号分隔+条数,在Oracle SQL中计算逗号分隔的所有列的值_六氟合铝酸钠的博客-程序员宅基地

技术标签: oracle+逗号分隔+条数  

寻找单个列计数很简单,但是这似乎很难,如果不是不可能的。

所以你不要手动查找每一列?你想要它动态。

设计实际上有缺陷,因为它违反了标准化。但是如果您愿意继续使用它,那么您可以使用REGEXP_COUNT以PL/SQL的方式执行此操作。

喜欢的东西,

SQL> CREATE TABLE t AS

2 SELECT '1,2,3' Col1,

3 '2,3,4,5,1' Col2,

4 '5,6' Col3

5 FROM dual;

Table created.

SQL>

SQL> DECLARE

2 cnt NUMBER;

3 BEGIN

4 FOR i IN

5 (SELECT column_name FROM user_tab_columns WHERE table_name='T'

6 )

7 LOOP

8 EXECUTE IMMEDIATE 'select regexp_count('||i.column_name||', '','') + 1 from t' INTO cnt;

9 dbms_output.put_line(i.column_name||' has cnt ='||cnt);

10 END LOOP;

11 END;

12/

COL3 has cnt =2

COL2 has cnt =5

COL1 has cnt =3

PL/SQL procedure successfully completed.

SQL>

也许,还会有SQL本身XML的解决方案,而无需使用PL/SQL。

在SQL -

SQL> WITH DATA AS

2 (SELECT '1,2,3' Col1, '2,3,4,5,1' Col2, '5,6' Col3 FROM dual

3 )

4 SELECT regexp_count(col1, ',') + 1 cnt1,

5 regexp_count(col2, ',') + 1 cnt2,

6 regexp_count(col3, ',') + 1 cnt3

7 FROM t;

CNT1 CNT2 CNT3

---------- ---------- ----------

3 5 2

SQL>

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_32101285/article/details/116365316

智能推荐

关于在spring boot中使用默认的 thymeleaf模板_jslzcydd的博客-程序员宅基地

关于在spring boot中使用默认的 thymeleaf模板 整体步骤: (1) 在pom.xml中引入thymeleaf; (2) 如何关闭thymeleaf缓存 (3) 编写模板文件.html Spring Boot默认就是使用thymeleaf模板引擎的,所以只需要在pom.xml加入依赖即可: [html] v

使用am命令发送带参数的广播和服务_Sunnie_ge的博客-程序员宅基地_am 发送广播

时候使用adb命令发送广播测试或者启动某个服务会更有效率。1.使用am broadcast命令发送广播命令如下:adb shell am broadcast -n "com.autonavi.amapauto/com.autonavi.amapauto.adapter.internal.AmapAutoBroadcastReceiver" -a AUTONAVI_STANDARD_BROADCAST_RECV --ei "KEY_TYPE" 10047 --ei "EXTRA_CASUAL_MU

c语言程序设计教程中国传媒大学出版社,C语言程序设计教程 教学大纲.pdf_于占超的博客-程序员宅基地

附件一C语言程序设计教 学 大 纲C语言程序设计一、本大纲适用专业、层次、总课时1.适用专业:计算机类2.层次:大专3.总课时:64学时二、课程性质和任务《C语言程序设计》是计算机应用专业的专业必修课程,主要任务是介绍C语言中的数据类型,运算,语句结构及其程序设计的基本方法。目的是使学生掌握一门高级程序设计语言,学会利用C语言解决一般应用问题,并为后续的专业课程奠定程序设计基础。《C语言程序设计》...

python: jquery实现全选 反选 取消_weixin_30635053的博客-程序员宅基地

引入这个jquery-1.12.4.jsjquery实现全选 反选 取消<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head> <ti...

算法——A*寻路_井冈山市监人的博客-程序员宅基地

首先说明下,不知道为什么代码都重复了一遍,编辑的时候是不重复的,发布之后就这样了。http://www.policyalmanac.org/games/aStarTutorial.htm 这是英文原文《A*入门》,最经典的讲解,有demo演示http://www.cnblogs.com/technology/archive/2011/05/26/2058842.html 这是国人翻译...

Retain Cycles and Weak References_chuanyituoku的博客-程序员宅基地

ARC’s behavior is automatic and mindless; it knows nothing of the logic of the relationships between objects in your app. Sometimes, you have to provide ARC with further instructions to prevent it fro

随便推点

树的应用——使用并查集解决动态连通性问题(含C++代码实现)(中篇:快速合并)_scnu-xyc的博客-程序员宅基地

上篇:树的应用——使用并查集解决动态连通性问题(含C++代码实现)(上篇:快速查找)第二种设计:快速合并 Quick-union在这种设计中,数据结构id[]还是一个整数类型的数组,其索引的含义与之前(上篇:快速查找)相同。但与之前有所不同的是,我们用树来表示连通分量,相互连通的对象之间存在双亲与孩子的关系。id[]中存储的值是其索引对应的对象的双亲对象的索引 (值=双亲的索引)。例如:对应于id[5]:index01234value12224“0号对象

醍醐灌顶学习RTMP,从总体介绍到各个细节_linux地平线的博客-程序员宅基地

RTMP协议是Real Time Message Protocol(实时信息传输协议)的缩写,它是由Adobe公司提出的一种应用层的协议,用来解决多媒体数据传输流的多路复用(Multiplexing)和分包(packetizing)的问题。随着VR技术的发展,视频直播等领域逐渐活跃起来,RTMP作为业内广泛使用的协议也重新被相关开发者重视起来。正好最近在从事这方面的工作,在此记录下自己对RTMP的理解,文章内容多翻译自英文版RTMP文档,按照本人的理解重新整理,希望可以帮助想要了解RTMP协议的朋友,也方面

python elasticsearch 翻页的三种方式_风雨「83」的博客-程序员宅基地

# -*- coding: utf-8 -*-# @Time : # @Author :from elasticsearch import Elasticsearches = Elasticsearch(hosts="ip:9200", timeout=20, max_retries=10, retry_on_timeout=True)# Elasticsearch 需要保持搜索的上下文环境多久 游标查询过期时间为10分钟(10m)page = es.search( .

python隐藏水印_图像中不可见的水印_weixin_39581571的博客-程序员宅基地

我使用以下代码。它需要PIL:def reduceOpacity(im, opacity):"""Returns an image with reduced opacity."""assert opacity >= 0 and opacity <= 1if im.mode != 'RGBA':im = im.convert('RGBA')else:im = im.copy()alpha...

二维码生成扫瞄_欧洲虾米的博客-程序员宅基地

二维码加库:coremedia corevido ,quartcore. avf. libiconPrivacy - Camera Usage Description#import “ViewController.h”#import “libqrencode/QRCodeGenerator.h”#import “ZBarSDK/Headers/ZBarSDK/ZBarSDK.h”@...

fastJSON源码分析_11_IOUtils工具类浅析(1)_A1ex_t的博客-程序员宅基地_io.fastjson

[email protected]文章简介本篇文章我们分析有关fastJSON的输出工具类IOUtils.该类帮助fastJSON更加快速地进行输入输出.源码分析我们先看该类的静态代码块,这里出现了两个循环 static { for (char c = 0; c < firstIdentifierFlags.length; ++c) { if (c >= 'A' && c <= 'Z') { .

推荐文章

热门文章

相关标签