首页 > 数据库 >oracle 去重函数(逗号分割后去重,行转列)

oracle 去重函数(逗号分割后去重,行转列)

时间:2023-09-11 14:57:04浏览次数:66  
标签:decode listagg instr distinct level 逗号 转列 oracle select

create or replace function aaa_distinct( a varchar2 )
return varchar2
as
results varchar2(2000):='';
begin

 

select listagg(CONTRACTNO_listagg ,',')
within group(order by CONTRACTNO_listagg) into results
from (
select distinct substr(a,
decode(level - 1, 0, 0, instr(a, ',', 1, level - 1)) + 1,
(decode(level,
regexp_count(a, ',') + 1,
length(a) + 1,
instr(a, ',', 1, level))) -
(decode(level - 1, 0, 0, instr(a, ',', 1, level - 1)) + 1)) as CONTRACTNO_listagg

from dual
connect by level <= regexp_count(a, ',') + 1

);

return results;
end;

分两次执行
select aaa_distinct(',111,222,333,111') from dual;

 

标签:decode,listagg,instr,distinct,level,逗号,转列,oracle,select
From: https://www.cnblogs.com/j2ee-web-01/p/17693545.html

相关文章

  • 检查Oracle中是否是“数字”函数,Oracle11时候,报is_number 无效的运算符,使用lenth( )
    检查Oracle中是否是“数字”函数原文链接:https://www.jb51.cc/oracle/207329.html我试图检查来自oracle(10g)查询中的列的值是否是一个数字,以便进行比较。就像是:selectcasewhen(is_number(myTable.id)and(myTable.id>0))then'Isanumbergreaterth......
  • 如何使用Oracle判断是否为数字,使用 REGEXP_LIKE 正则
    如何使用Oracle判断是否为数字原文链接:https://www.python100.com/html/KDO3R3J4S004.html一、判断是否为数字的方法在Oracle中,常用的判断是否为数字的方法是使用REGEXP_LIKE函数和正则表达式。SELECTCASEWHENREGEXP_LIKE('123','^[[:digit:]]+$')THEN'是数字'ELSE'......
  • Debezium日常分享系列之:Oracle数据库系列文章之安装和设置
    Debezium日常分享系列之:Oracle数据库系列文章之安装和设置一、什么是Oracle二、安装Oracle三、配置Oracle1.配置Oracle:归档日志2.配置Oracle:重做日志3.配置Oracle:补充日志记录4.配置Oracle:用户设置四、总结这篇文章是由3部分组成的系列文章的一部分,该系列文章探讨如何使用......
  • Debezium系列之:获取Oracle JDBC驱动程序和XStream API文件
    Debezium系列之:获取OracleJDBC驱动程序和XStreamAPI文件一、背景二、详细步骤1.下载OracleClient包2.解压缩3.复制ojdbc8.jar和xstreams.jar文件4.创建环境变量三、XStream连接器属性一、背景DebeziumOracle连接器需要OracleJDBC驱动程序(ojdbc8.jar)才能连接到Oracl......
  • ORACLE内置函数
    ORACLE内置函数原文链接:https://blog.csdn.net/m0_63300795/article/details/124473586目录一,内置函数的分类.二,转换函数三,日期函数四,字符函数五,数学函数六,聚合函数一,内置函数的分类.内置函数:Oracle自带的函数,我能只需要去调用就可以了。Oracle里面的内置函数分为......
  • 2.Oracle 11g rac安装
    查考:https://www.bilibili.com/video/BV1oJ411q7h3?p=10&spm_id_from=pageDriver&vd_source=410828f542644e3f8ce51b0e82e8475d......
  • oracle 高级用法
    Oracle数据库有许多高级用法,以下是其中一些常见的:数据库角色:Oracle中有三个重要的角色,分别是connect角色、resource角色和dba角色。Connect角色是授予最终用户的典型权利,包括修改会话、建立聚簇、建立数据库链接、建立序列、建立会话、建立同义词和建立视图等权限。Resource角色是......
  • Oracle判断是否为数字
    一、判断是否为数字的方法在Oracle中,常用的判断是否为数字的方法是使用REGEXP_LIKE函数和正则表达式。SELECTCASEWHENREGEXP_LIKE('123','^[[:digit:]]+$')THEN'是数字'ELSE'不是数字'ENDAScheck_resultFROMDUAL;以上代码会返回结果为“是数字”,因为“123”是由......
  • Springboot项目中pom.xml配置文件无法解析下载oracl数据库解决办法(Cannot resolve com
    网上说是因Oracle的版权问题,导致maven下载不下来ojdbc各个版本的jar包。就会报错Cannotresolvecom.oracle:ojdbc6:11.2.0.1.0 经过一番百度,找到了一个适用的解决方法,如下操作即可:1.在终端或客户端机器上找到oracle安装驱动目录:例如:E:\myorcl\product\11.2.0\dbhome_1\j......
  • 达梦数据库教程:DM8数据迁移工具使用教程(oracle迁移至DM8)
    DM数据迁移工具DM数据迁移工具DMDTS提供了主流大型数据库迁移到DM、DM到DM、文件迁移到DM以及DM迁移到文件等功能。得益于DM数据库对目前主流大型关系型数据库系统有着业界领先的兼容性,在存储层面、语法层面、接口层面和它们保持高度兼容,借助于DM图形界面且采用向......