【oracle开发】wmsys.wm_concat介绍
wmsys.wm_concat是一个聚合函数,其作用是将一列数据转换成一行,也就是我们常用的行专列,但是该函数是一个undocument函数,所以不推荐大家使用这个函数。因为在后续的版本中还提不提供这个函数都不好说呢。
首先创建临时表和测试数据
使用该函数,可以看到我们的按id做group by,把name字段列转置为一行
但是我们使用wmconcat还是会遇到这么两个问题:1.vm_concat函数是无序的。2.遇到ora-22922的错误。
通过我们第二步可以看到name字段在列转行后没有按照顺序排列的
这种情况我们可以使用窗口函数来解决无序的问题呢,如下图所示
另一种情况是会遇到ora-22922的报错,如下图所示。这种情况一般发生在内层使用to_char这样的函数,外层在去查询这列就报错。
解决方案是将to_char这类的函数放到最外面执行。
分类:
plsql
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
2020-08-21 jquery获取元素各种宽高及页面宽高总结