最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

oracle—SQL技巧之(二)WMSYS.WM_CONCAT函數(shù)實(shí)現(xiàn)多行記錄用逗號拼接在一起

 更新時間:2013年01月15日 15:17:32   作者:  
由于業(yè)務(wù)系統(tǒng)的交易記錄有很多,常常有些主管需要看到所有的記錄情況;又不想滾動;接下來介紹使用Oracle自帶的函數(shù) WMSYS.WM_CONCAT,進(jìn)行拼接,感興趣的朋友可以了解下
需求
目前接觸BI系統(tǒng),由于業(yè)務(wù)系統(tǒng)的交易記錄有很多,常常有些主管需要看到所有的記錄情況,但是又不想滾動,想一眼就可以看到所有的,于是就想到了字符串拼接的形式。

解決方案:使用Oracle自帶的函數(shù) WMSYS.WM_CONCAT,進(jìn)行拼接。
函數(shù)限制:它的輸出不能超過4000個字節(jié)。

為了不讓SQL出錯,又可以滿足業(yè)務(wù)的需求,超過4000個字節(jié)的部分,使用“。。。”
實(shí)現(xiàn)SQL如下
復(fù)制代碼 代碼如下:

CREATE TABLE TMP_PRODUCT
(PRODUCT_TYPE VARCHAR2(255),
PRODUCT_NAME VARCHAR2(255));

insert into tmp_product
select 'A','ProductA'||rownum from dual
connect by level < 100
union all
select 'B','ProductB'||rownum from dual
connect by level < 300
union all
select 'C','ProductC'||rownum from dual
connect by level < 400
union all
select 'D','ProductD'||rownum from dual
connect by level < 500
union all
select 'E','ProductE'||rownum from dual
connect by level < 600;
復(fù)制代碼 代碼如下:

SELECT PRODUCT_TYPE,
WM_CONCAT(PRODUCT_NAME) || MAX(STR) AS PRODUCT_MULTI_NAME
FROM (SELECT PRODUCT_TYPE,
PRODUCT_NAME,
CASE
WHEN ALL_SUM > 4000 THEN
'...'
ELSE
NULL
END AS STR
FROM (SELECT PRODUCT_TYPE,
PRODUCT_NAME,
SUM(VSIZE(PRODUCT_NAME || ',')) OVER(PARTITION BY PRODUCT_TYPE) AS ALL_SUM,
SUM(VSIZE(PRODUCT_NAME || ',')) OVER(PARTITION BY PRODUCT_TYPE ORDER BY PRODUCT_NAME) AS UP_SUM
FROM TMP_PRODUCT)
WHERE (UP_SUM <= 3998 AND ALL_SUM > 4000)
OR ALL_SUM <= 4001)
GROUP BY PRODUCT_TYPE

相關(guān)文章

  • Oracle表中重復(fù)數(shù)據(jù)去重的方法實(shí)例詳解

    Oracle表中重復(fù)數(shù)據(jù)去重的方法實(shí)例詳解

    這篇文章主要介紹了Oracle表中重復(fù)數(shù)據(jù)去重的方法實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-07-07
  • Oracle故障處理之ORA-00600錯誤處理思路分析

    Oracle故障處理之ORA-00600錯誤處理思路分析

    最近在做一個項(xiàng)目,使用的是Oracle數(shù)據(jù)庫,近兩天不知道怎么回事,告警日志里總是顯示這個錯誤,下面這篇文章主要給大家介紹了關(guān)于Oracle故障處理之ORA-00600錯誤處理思路的相關(guān)資料,需要的朋友可以參考下
    2024-05-05
  • 如何使用log miner分析oracle日志

    如何使用log miner分析oracle日志

    日常生活中,我們經(jīng)常因?yàn)椴僮魇д`丟失數(shù)據(jù)或者是更改數(shù)據(jù),如何進(jìn)行恢復(fù)吶?這篇文章就是幫助我們解決這一困擾,需要的朋友可以參考下
    2015-07-07
  • Oracle rac環(huán)境的數(shù)據(jù)庫導(dǎo)入操作步驟

    Oracle rac環(huán)境的數(shù)據(jù)庫導(dǎo)入操作步驟

    Oracle RAC是一種基于共享存儲和共享數(shù)據(jù)庫的集群解決方案,可以將多個 Oracle 數(shù)據(jù)庫實(shí)例連接成一個邏輯上的單一數(shù)據(jù)庫,提供高可用性、靈活性和可伸縮性,本文給大家介紹Oracle rac環(huán)境的數(shù)據(jù)庫導(dǎo)入操作,感興趣的朋友一起看看吧
    2023-06-06
  • oracle執(zhí)行cmd的實(shí)現(xiàn)方法

    oracle執(zhí)行cmd的實(shí)現(xiàn)方法

    裝了一個oracle db11g,于是想試一下網(wǎng)上流傳的在sqlplus中執(zhí)行cmd的一些命令,也不知怎么的,沒一個好用的,可能是網(wǎng)上轉(zhuǎn)來轉(zhuǎn)去的轉(zhuǎn)錯了.
    2009-04-04
  • oracle數(shù)據(jù)庫常用的99條查詢語句

    oracle數(shù)據(jù)庫常用的99條查詢語句

    這篇文章主要分享了oracle數(shù)據(jù)庫常用的99條查詢語句,學(xué)習(xí)oracle的朋友可以參考下
    2013-08-08
  • Oracle 11g下編譯使用BBED的方法教程

    Oracle 11g下編譯使用BBED的方法教程

    這篇文章主要給大家介紹了在Oracle 11g下編譯使用BBED的方法教程,文中詳細(xì)介紹了關(guān)于拷貝缺失文件、編譯BBED以及BBED使用測試的相關(guān)資料,通過示例代碼介紹的非常詳細(xì),需要的朋友們下面來一起看看吧。
    2017-07-07
  • Oracle數(shù)據(jù)庫表名支持的最大長度是多少

    Oracle數(shù)據(jù)庫表名支持的最大長度是多少

    這篇文章主要介紹了Oracle數(shù)據(jù)庫表名支持的最大長度,本文通過Oracle標(biāo)識符確認(rèn)了表名的最大支持字符串為30個字符,需要的朋友可以參考下
    2014-08-08
  • Oracle學(xué)習(xí)筆記(六)

    Oracle學(xué)習(xí)筆記(六)

    最近需要用的oracle,所以大家好好的學(xué)習(xí)下基礎(chǔ)并整理下資料,希望能幫助到需要的朋友。
    2011-12-12
  • 解決oracle用戶連接失敗的解決方法

    解決oracle用戶連接失敗的解決方法

    oracle用戶連接失敗的問題著實(shí)讓我們頭疼,下面就為您介紹oracle用戶連接失敗的解決方法,希望對您學(xué)習(xí)oracle用戶連接方面能有所幫助。
    2010-12-12

最新評論

电白县| 大田县| 隆子县| 任丘市| 湛江市| 小金县| 和政县| 陆川县| 长顺县| 尼勒克县| 大悟县| 大冶市| 若尔盖县| 邻水| 长顺县| 工布江达县| 甘洛县| 昭平县| 花垣县| 绍兴市| 海安县| 正宁县| 轮台县| 德格县| 即墨市| 通榆县| 长子县| 凤翔县| 龙南县| 包头市| 崇左市| 扎兰屯市| 临泽县| 孝感市| 大城县| 璧山县| 新野县| 东乌珠穆沁旗| 财经| 兴业县| 德令哈市|