將一列數(shù)據(jù)轉(zhuǎn)換成行,并用逗號(hào)隔開(kāi)_第1頁(yè)
將一列數(shù)據(jù)轉(zhuǎn)換成行,并用逗號(hào)隔開(kāi)_第2頁(yè)
將一列數(shù)據(jù)轉(zhuǎn)換成行,并用逗號(hào)隔開(kāi)_第3頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

將一個(gè)表的一個(gè)列的多行內(nèi)容拼接成一行,并用逗號(hào)隔開(kāi)。比如表中有兩列數(shù)據(jù):類(lèi)名

企業(yè)1企業(yè)2企業(yè)3企業(yè)4企業(yè)5我想把這個(gè)表變成如下格式:類(lèi)

名企業(yè)1,企業(yè),企業(yè)3企業(yè)4,企業(yè)一開(kāi)始挺頭疼的(會(huì)了的肯定沒(méi)有這種感覺(jué),不會(huì)那必須是頭疼(*^__^*))從網(wǎng)上找了點(diǎn)資料,算是找到一種比較簡(jiǎn)單方便的方法吧,現(xiàn)在大體總結(jié)一下,供大家共同學(xué)習(xí)。原先的表名為,實(shí)現(xiàn)代碼如下:select類(lèi)別,名稱=(stuff((select','+名稱fromTable_Awhere類(lèi)別=A.類(lèi)別forxmlpath('')),1,1,''))fromTable_AasAgroupby類(lèi)別這里使用了SQLServer2005版本以后加入的stuff及for,先說(shuō)下在上面這句sql中作用,然后再詳細(xì)的說(shuō)明一下這兩個(gè)的用法。forxmlpath('')這句是把得到的內(nèi)容以XML的形式顯示。stuff((select','+ep_namefromep_detailwhereep_classes=a.ep_classesforxmlpath('')),1,1,'')

這句是把拼接的內(nèi)容的第一個(gè)“,去掉stuff:1、作stuff(param1,startIndex,length,param2)將param1中自startIndex(SQL中是從1開(kāi),而非0)起,刪除length個(gè)符,然后用param2替換刪掉的字符。2、參

param1一個(gè)字符數(shù)據(jù)表達(dá)式。param1可是常量、變量,也可以是符或進(jìn)數(shù)列。startIndex一個(gè)整數(shù)值,指定刪除和入開(kāi)位。果startIndex或length為,則返回空符。果比param1長(zhǎng)則返回空字符串。startIndex可是類(lèi)。length一個(gè)整數(shù),指定要?jiǎng)h除的字符。果length比param1長(zhǎng)則多除到param1中最后一個(gè)字??墒莃igint類(lèi)。param2,返回類(lèi)型。如果受持字?jǐn)?shù)類(lèi),返回字符數(shù)。果param1是個(gè)受支持的binary數(shù)類(lèi)型,則返回二進(jìn)制數(shù)據(jù)。示例selectSTUFF('abcdefg',1,0,'1234')--果為'1234abcdefg'selectSTUFF('abcdefg',1,1,'1234')--果為'1234bcdefg'selectSTUFF('abcdefg',2,1,'1234')--果為'a1234cdefg'selectSTUFF('abcdefg',2,2,'1234')--果為'a1234defg'forxmlpathforpath有人可能知道有的人可能不知道,其實(shí)它就是將查詢結(jié)果集以XML形展現(xiàn),有了它我們可以簡(jiǎn)化我們的查詢語(yǔ)句實(shí)現(xiàn)一些以前可能需要借助函數(shù)活存儲(chǔ)過(guò)程來(lái)完成的工作。那么以一個(gè)實(shí)例為主假設(shè)有個(gè)表存放著學(xué)生的選課情況stu_courses):

接下來(lái)我們來(lái)看應(yīng)用FORXMLPATH的詢結(jié)果語(yǔ)句如下:selectstu_name,stu_coursefromstu_coursesforxmlpath;結(jié)果如下:由此可以看出FORX

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論