新聞中心
以下的文章是通過Oracle字段轉(zhuǎn)字符串以及其多行記錄合并/連接/聚合字符串的幾種常用方法的具體操作,如果你對(duì)其相關(guān)的實(shí)際操作有興趣的話,你就可以對(duì)以下的文章點(diǎn)擊觀看了。

創(chuàng)新互聯(lián)專注于新建企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè),商城網(wǎng)站制作。新建網(wǎng)站建設(shè)公司,為新建等地區(qū)提供建站服務(wù)。全流程按需制作網(wǎng)站,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)
怎么合并多行記錄的字符串,一直是oracle新手喜歡問的SQL問題之一,關(guān)于這個(gè)問題的帖子我看過不下30個(gè)了,現(xiàn)在就對(duì)這個(gè)問題,進(jìn)行一個(gè)總結(jié)。
什么是合并多行字符串(連接字符串)呢,例如:
- SQL> desc test;
- Name Type Nullable Default Comments
- COUNTRY VARCHAR2(20) Y
- CITY VARCHAR2(20) Y
- SQL> select * from test;
- COUNTRY CITY
中國 臺(tái)北
中國 香港
中國 上海
日本 東京
日本 大阪
要求得到如下結(jié)果集:
中國 臺(tái)北,香港,上海
日本 東京,大阪
實(shí)際就是對(duì)字符實(shí)現(xiàn)一個(gè)聚合功能,我很奇怪為什么Oracle沒有提供官方的聚合函數(shù)來實(shí)現(xiàn)它呢:)
下面就對(duì)幾種經(jīng)常提及的解決方案進(jìn)行分析
1.被集合Oracle字段范圍小且固定型
這種方法的原理在于你已經(jīng)知道CITY字段的值有幾種,且還不算太多,如果太多這個(gè)SQL就會(huì)相當(dāng)?shù)?/p>
長??蠢樱?/p>
SQL> select t.country,
2 MAX(decode(t.city,'臺(tái)北',t.city||',',NULL)) ||
3 MAX(decode(t.city,'香港',t.city||',',NULL))||
4 MAX(decode(t.city,'上海',t.city||',',NULL))||
5 MAX(decode(t.city,'東京',t.city||',',NULL))||
6 MAX(decode(t.city,'大阪',t.city||',',NULL))
7 from test t GROUP BY t.country
8 /
上述的相關(guān)內(nèi)容就是對(duì)Oracle字段轉(zhuǎn)字符串以及多行記錄合并/連接/聚合字符串的幾種方法的部分描述,希望會(huì)給你帶來一些幫助在此方面。
網(wǎng)站題目:Oracle字段的轉(zhuǎn)字符串實(shí)際操作方案
鏈接URL:http://m.fisionsoft.com.cn/article/cccspic.html


咨詢
建站咨詢
