【oracle開發】wmsys.wm_concat介紹

2021-01-09 百度經驗

wmsys.wm_concat是一個聚合函數,其作用是將一列數據轉換成一行,也就是我們常用的行專列,但是該函數是一個undocument函數,所以不推薦大家使用這個函數。因為在後續的版本中還提不提供這個函數都不好說呢。

首先創建臨時表和測試數據

使用該函數,可以看到我們的按id做group by,把name欄位列轉置為一行

但是我們使用wmconcat還是會遇到這麼兩個問題:1.vm_concat函數是無序的。2.遇到ora-22922的錯誤。

通過我們第二步可以看到name欄位在列轉行後沒有按照順序排列的

這種情況我們可以使用窗口函數來解決無序的問題呢,如下圖所示

另一種情況是會遇到ora-22922的報錯,如下圖所示。這種情況一般發生在內層使用to_char這樣的函數,外層在去查詢這列就報錯。

解決方案是將to_char這類的函數放到最外面執行。

相關焦點

  • MySQL教程之concat以及group_concat的用法
    本文中使用的例子均在下面的資料庫表tt2下執行:一、concat()函數1、功能:將多個字符串連接成一個字符串。2、語法:concat(str1, str2,...)返回結果為連接參數產生的字符串,如果有任何一個參數為null,則返回值為null。
  • 零基礎學Oracle之2:開始使用oracle
    零基礎學Oracle之2:開始使用oracle1、 資料庫管理工具OUI:安裝使用,自帶的DBCA:圖形化創建資料庫,初學者使用SQL*PLUS:重點掌握OEM:外圍產品2、 OUI:統一安裝器而oracle則力推java,把java虛擬機內嵌到oracle中。[oracle@wl database]$ ./runInstaller 在資料庫軟體目錄下執行這個安裝,類似於windows的setup
  • 超詳細教程|pandas合併之append和concat(下)
    本篇文章主要介紹了pandas中對series和dataframe對象進行連接的方法:pd.append()和pd.concat(),文中通過示例代碼對這兩種方法進行了詳細的介紹,希望能對各位python小白的學習有所幫助。
  • nginx中使用nginx-http-concat模塊合併靜態資源文件
    西崑雲這篇文章主要介紹了nginx中使用nginx-http-concat模塊合併靜態資源文件,用以加速網站的CSS、JS等靜態資源載入速度,需要的朋友可以參考下  首先了解一下 nginx-http-concat
  • mysql 資料庫group_concat函數的一些用法
    對於group_contact函數一般懂一點sql的人來說,並不算太陌生,它主要配合group by 使用,起著分組時,將涉及行的相應的欄位串聯成一個欄位如下表a:我們按照type分類,並將對應的名稱按逗號分隔保存為一個names欄位可以寫為:select type,group_concat(name) names from a group by
  • Oracle資料庫參數優化參考
    資料庫性能優化包括如下幾個部分:1.調整數據結構的設計 這一部分在開發信息系統之前完成,程式設計師需要考慮是否使用Oracle資料庫的分區功能,對於經常訪問的資料庫表是否需要建立索引等。2.調整應用程式結構設計 這一部分也是在開發信息系統之前完成的。
  • 零基礎學Oracle之4:理解oracle的啟動與關閉
    spfile.ora, 啟動instance3) 查找initSID.ora這個文件並啟動instance4) 使用預設pfile,也就是在敲命令時STARTUP PFILE = $ORACLE_HOME/dbs/initDBA1.ora,直接用指定的pfile啟動instance2、 oracle
  • 對於merge、join和concat三者的區別分析
    1、從合併的方式看merge和join是一樣的,有left/right/inner/outer,而concat只有inner/outer兩種,因為merge和join參與合併的對象有左右區分,而concat第一個參數是多個dataframe組成的列表,沒有嚴格的左右區分,如果排除最後結果中列的順序的話,可以看成是一樣的。
  • 零基礎學Oracle之6:Oracle數字字典和動態視圖的理解
    1、 本部分介紹二個內容數字字典和動態視圖。這二個都是一些表,數字字典是一些相對靜態的信息,動態視圖是一些相對動態表。2、數字字典(DD)1)在執行數據定義語言(definition language,DDL)語句或有些數據操縱語言 (data manipulation language ,DML) 語句時會更新數據字典2)有幾個特點存儲在system表空間它是由sys擁有由oracle server自動維護。
  • 美國ViewSonic V3D241wm-LED液晶顯示器引爆3D顯示市場
    眾所周知,液晶顯示器的刷新率固定為60Hz,V3D241wm-LED的120Hz刷新率超過普通顯示器兩倍,與支持3D顯示的外設搭配可同時輸出2幀略有差異的畫面,左右眼分別看到不同的畫面,可在大腦中形成立體畫面,真正營造逼真3D效果。
  • 超詳細教程|pandas合併之append和concat(上)
    本系列文章主要介紹了pandas中對series和dataframe對象進行連接的方法:pd.append()和pd.concat(),文中通過示例代碼對這兩種方法進行了詳細的介紹,希望能對各位python小白的學習有所幫助。
  • Oracle 19C rac集群靜默安裝操作手冊v2.0 for centos7
    /usr/sbin/useradd -u 50012 -g oinstall -G dba,oper,backupdba,dgdba,kmdba,asmdba,racdba oracle13.echo "oracle" | passwd --stdin oracle14.echo "oracle" | passwd --stdin grid 常見用戶組說明
  • 高清影音HDMI埠多媒體音箱 ViewSonic VX2439wm來襲
    作為一款追求低碳、綠色健康效果的科技產品,ViewSonic VX2439wm在待機模式下耗電量不足1W,必將獲得了不少家庭影音用戶喜愛,也將成為市場上最暢銷的高清液晶顯示器之一。VX2439wm繼承了Calico系列經典的微笑式外觀設計,超窄邊框配合銀色圓環戒指底座,與全鋼琴烤漆包裹的機身相映成趣,優雅而大方,可以充分融入家居、辦公場所,更適合商住一體的小戶型對顯示設備的定位。
  • oracle 查詢昨天記錄專題及常見問題 - CSDN
    我寫了一小段代碼來驗證這個內容,參考:[oracle@jumper oracle]$ cat unsign.c#include int main(void){unsigned int num = 0xffffffff;printf("num is %d bits long\n", sizeof(num) * 8);printf("
  • oracle 查詢 今天、昨天、本周、本月、本季度的所有記錄
    我寫了一小段代碼來驗證這個內容,參考:[oracle@jumper oracle]$ cat unsign.c#include int main(void){unsigned int num = 0xffffffff;printf("num is %d bits long\n", sizeof(num) * 8);printf("
  • MySQL拼接字符串,GROUP_CONCAT 值得擁有
    領導的關懷能力也有限,拼接的字符串默認的最大長度是1024個字符,可以通過下面語句查看當前限制是多少:showvariableslike'group_concat_max_len';領導的能力可是飄忽不定的,所以我們可以靈活的設置這個值SET [GLOBAL | SESSION] group_concat_max_len = val;
  • DB2常用函數與Oracle比較
    ) from dual;    DB2:    select upper('abc') from sysibm.sysdummy1    或者    select ucase('abc') from sysibm.sysdummy1    --合併字符串,Oracle和DB2相同都可以如下:    Oracle: select concat
  • ORACLE ERP開發基礎之前言
    開發工具相當古老FORMS6i,要靠補丁才能在XP下運行。JAVA當中的模式、設計、分層等等,根本使用不上。只是拖拉一下控制項就好,就算你不想拖拉也不行。因為ORACLE FORMS根本不支持,只允許拖拉式編程。比VB/DELPHI這類語言還死心眼。唯一要編程的就是寫些SQL代碼,也談不上什麼分層,表現層與SQL混 在一起。大多數的函數,ORACLE都內置了,沒有內置的,你也非常難去實現。
  • ORACLEERP開發基礎之OracleForms基礎(二)
    【IT168 技術文檔】ORACLE ERP開發基礎之前言http://tech.it168.com/a2009/0427/274/000000274048.shtmlORACLE ERP開發基礎之FORMS基礎-- Forms設置部分 http://tech.it168.com/a2009/