oracle列合并的實(shí)現(xiàn)方法
很多場(chǎng)合我們都會(huì)用到oracle的列合并,oracle提供了如下一些方法用來實(shí)現(xiàn)列合并:
一、Oracle 10G以前使用WMSYS.WM_CONCAT:
wmsys.wm_concat將字段的值用","來隔開。
select id,wm_concat(name) from tab_name group by id;
二、使用sys_connect_by_path
sys_connect_by_path(字段名, 2個(gè)字段之間的連接符號(hào)),這里的連接符號(hào)不要使用逗號(hào),oracle會(huì)報(bào)錯(cuò),如果一定要用,可以使用replace替換一下,方法如下 REPLACE(字段名,原字符,',')。這個(gè)函數(shù)使用之前必須先建立一個(gè)樹,否則無用。
三、Oracle 11G以后可以使用listagg
select listagg(id,',') within group (order by id) col_name from tab_name;
四、使用自定義函數(shù):
create or replace function getRow(table1 varchar2 , ptdb1 varchar2) RETURN VARCHAR2 is Result VARCHAR2(1000); begin FOR cur IN (SELECT audit_code FROM sys_audit_column t2 WHERE table1 = t2.table_name and ptdb1 = t2.ptdb_name) LOOP RESULT := RESULT||cur.audit_code||','; END LOOP; RESULT:=rtrim(RESULT,','); return(Result); end getRow;
相關(guān)文章
Oracle數(shù)據(jù)庫中的循環(huán)語法及舉例
這篇文章主要給大家介紹了關(guān)于Oracle數(shù)據(jù)庫中的循環(huán)語法及舉例的相關(guān)資料,Oracle循環(huán)操作是指在Oracle數(shù)據(jù)庫中使用循環(huán)結(jié)構(gòu)來重復(fù)執(zhí)行一段代碼或一組語句,Oracle提供了多種循環(huán)結(jié)構(gòu),包括FOR循環(huán)、WHILE循環(huán)和LOOP循環(huán),需要的朋友可以參考下2023-09-09
Oracle之SQL語句性能優(yōu)化(34條優(yōu)化方法)
本篇文章主要介紹了Oracle之SQL語句性能優(yōu)化,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-11-11
Oracle如何查看impdp正在執(zhí)行的內(nèi)容
這篇文章主要給大家介紹了關(guān)于Oracle如何查看impdp正在執(zhí)行的內(nèi)容的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Oracle具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06
C#利用ODP.net連接Oracle數(shù)據(jù)庫的操作方法
本文將介紹C#利用ODP.net連接Oracle數(shù)據(jù)庫的操作方法,需要的朋友可以參考下2012-11-11
Oracle數(shù)據(jù)庫如何將表的某一列所有值用逗號(hào)隔開去重后合并成一行
在做系統(tǒng)時(shí)經(jīng)常會(huì)遇到在?個(gè)字段中,?逗號(hào)或其他符號(hào)分隔存儲(chǔ)多個(gè)信息,這篇文章主要給大家介紹了關(guān)于Oracle數(shù)據(jù)庫如何將表的某一列所有值用逗號(hào)隔開去重后合并成一行的相關(guān)資料,需要的朋友可以參考下2023-12-12
給Oracle添加split和splitstr函數(shù)的方法
最近項(xiàng)目中有很多需要做批量操作的需求,客戶端把一組逗號(hào)分隔的ID字符串傳給數(shù)據(jù)庫,存儲(chǔ)過程就需要把它們分割,然后逐個(gè)處理2012-11-11
Linux環(huán)境下重啟Oracle數(shù)據(jù)庫詳細(xì)圖文教程
Linux系統(tǒng)下網(wǎng)站出現(xiàn)問題的時(shí)候,可通過重啟oracle數(shù)據(jù)庫進(jìn)行處理,這篇文章主要給大家介紹了關(guān)于Linux環(huán)境下重啟Oracle數(shù)據(jù)庫詳細(xì)圖文教程的相關(guān)資料,需要的朋友可以參考下2023-12-12

