首页 > 数据库 >【oracle开发】wmsys.wm_concat介绍

【oracle开发】wmsys.wm_concat介绍

时间:2023-08-21 12:00:38浏览次数:55  
标签:函数 wm char 报错 wmsys oracle concat

wmsys.wm_concat是一个聚合函数,其作用是将一列数据转换成一行,也就是我们常用的行专列,但是该函数是一个undocument函数,所以不推荐大家使用这个函数。因为在后续的版本中还提不提供这个函数都不好说呢。

首先创建临时表和测试数据

使用该函数,可以看到我们的按id做group by,把name字段列转置为一行

但是我们使用wmconcat还是会遇到这么两个问题:1.vm_concat函数是无序的。2.遇到ora-22922的错误。

通过我们第二步可以看到name字段在列转行后没有按照顺序排列的

这种情况我们可以使用窗口函数来解决无序的问题呢,如下图所示

另一种情况是会遇到ora-22922的报错,如下图所示。这种情况一般发生在内层使用to_char这样的函数,外层在去查询这列就报错。

解决方案是将to_char这类的函数放到最外面执行。

 

 

标签:函数,wm,char,报错,wmsys,oracle,concat
From: https://www.cnblogs.com/lydg/p/17645663.html

相关文章

  • oracle怎么表示当天零点,Oracle 取得当天0时0分0秒和23时59分59秒
    1.取得当天0时0分0秒selectTRUNC(SYSDATE)FROMdual;2.取得当天23时59分59秒(在当天0时0分0秒的基础上加1天后再减1秒)SELECTTRUNC(SYSDATE)+1-1/86400FROMdual;3.取得当前日期是一个星期中的第几天,注意:星期日是第一天selectto_char(sysdate,'D'),to_char(sysdate,'......
  • Oracle数据库经纬度坐标查询优化与结果错误原因分析、SQL中WKT超长文本字符串处理
    目录一、Oracle几何空间数据对象和其他数据库的差异二、Oracle查询一个经纬度坐标是否在边界内部2.1查询条件2.2查询结果错误,似乎是仅做了MBR匹配2.3错误原因2.4解决办法三、SQL中WKT超长文本在Oracle中如何编写3.1Oracle中执行含超长文本的SQL报错3.2使用CLOB无限拼接得到......
  • Oracle 分区表自动管理(待整理)
    原文-https://github.com/aws-samples/automate-table-partitioning-in-oracle-standard-edition/tree/main/partitions/scripts需要调整的地方有:1.droptable未释放垃圾空间2.未提及到收缩HWM释放空间partitions/scripts/partition_mgmt_tables.sql---partitions/sc......
  • P1345 [USACO5.4] 奶牛的电信Telecowmunication 题解
    P1345[USACO5.4]奶牛的电信Telecowmunication题目描述农夫约翰的奶牛们喜欢通过电邮保持联系,于是她们建立了一个奶牛电脑网络,以便互相交流。这些机器用如下的方式发送电邮:如果存在一个由\(c\)台电脑组成的序列\(a_1,a_2,\cdots,a_c\),且\(a_1\)与\(a_2\)相连,\(a_2\)与......
  • Oracle table partition发展史
    ---Oraclepartition功能发展历程细节参考:https://www.oracle.com/docs/tech/partitioning-guide-2703320.pdf......
  • ORACLE的参数文件:pfile和spfile
    转载自:https://www.cnblogs.com/xqzt/p/4832597.html1、pfile和spfileOracle中的参数文件是一个包含一系列参数以及参数对应值的操作系统文件。它们是在数据库实例启动时候加载的,决定了数据库的物理结构、内存、数据库的限制及系统大量的默认值、数据库的各种物理属性、指定......
  • [MyArch]我的Archlinux与bspwm的重生之途
    0x00前言碎语2023.8.19好久不见。这些日子一直在和bspwm和archlinux打交道。自从上次NepCTF的前几天和CuB3y0nd小师傅的bspwm配置打交道之后我一发不可收拾。中间为了恢复数据重装系统进kde,结果空手而归。收获是连续两次重装archlinux,我对这个系统的认识更加深刻了。0x01参......
  • 【Oracle RAC Database】Single Client Access Name(SCAN)
    SCAN的作用是简化客户端连接数据库的配置,无论集群增加还是删除节点SCAN名称会一直保持不变,客户端不需要做任何的修改。SCAN是一个名称,通过DNS被解析成最多3个IP地址(SCANVIP)SCANVIP的作用是接收客户端连接,SCANVIP必须与集群的公网资源处于相同的子网,每一个SCANVIP都会有对应的S......
  • 【Oracle Real Application Cluster Database】创建Service资源
    每个数据库都有一个或多个service名称,service名称是提供给客户端连接到数据库实例的名称。创建数据库会默认创建与数据库同名的service,默认的service实现所有实例的负载均衡,可以认为数据库的所有实例是默认创建的service的首选节点。手工创建的service资源区分首选节点与备用节点......
  • 【Oracle Real Application Cluster Database】集群删除节点
    [grid@node01~]$srvctlstoplistener-nnode03[grid@node01~]$srvctlstopinstance-dcore-nnode03[oracle@node01~]$dbca-silent-deleteInstance-nodeListnode03-gdbNamecore-instanceNamecore3-sysDBAUserNamesys-sysDBAPassword1QAZ2wsx......