將一列數(shù)據(jù)轉換成行,并用逗號隔開_第1頁
將一列數(shù)據(jù)轉換成行,并用逗號隔開_第2頁
將一列數(shù)據(jù)轉換成行,并用逗號隔開_第3頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

將一個表的一個列的多行內容拼接成一行,并用逗號隔開。比如表中有兩列數(shù)據(jù):類名

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

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

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

param1一個字符數(shù)據(jù)表達式。param1可是常量、變量,也可以是符或進數(shù)列。startIndex一個整數(shù)值,指定刪除和入開位。果startIndex或length為,則返回空符。果比param1長則返回空字符串。startIndex可是類。length一個整數(shù),指定要刪除的字符。果length比param1長則多除到param1中最后一個字??墒莃igint類。param2,返回類型。如果受持字數(shù)類,返回字符數(shù)。果param1是個受支持的binary數(shù)類型,則返回二進制數(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有人可能知道有的人可能不知道,其實它就是將查詢結果集以XML形展現(xiàn),有了它我們可以簡化我們的查詢語句實現(xiàn)一些以前可能需要借助函數(shù)活存儲過程來完成的工作。那么以一個實例為主假設有個表存放著學生的選課情況stu_courses):

接下來我們來看應用FORXMLPATH的詢結果語句如下:selectstu_name,stu_coursefromstu_coursesforxmlpath;結果如下:由此可以看出FORX

溫馨提示

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

最新文檔

評論

0/150

提交評論