日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區(qū)平臺 聯系我們 | 收藏本站
阿里云優(yōu)惠2
您當前位置:首頁 > 數據庫 > Sqlserver > SQL將一個字段內用逗號分隔的內容分成多條記錄

SQL將一個字段內用逗號分隔的內容分成多條記錄

來源:程序員人生   發(fā)布時間:2014-01-17 17:51:25 閱讀次數:3436次
由于業(yè)務需求,我們可能會把一串以分割符字符串數據放到一個字段,如我們在客戶端處理拆分是很簡單的,不過這樣做效果不太好,怎么用SQL SERVER 2008 來解決這件事件哪?

方案1

  用SQL SERVER XML 功能來解決

1 ----> 生成測試數據: @T
2  DECLARE @T TABLE (id INT,Col1 VARCHAR(50),Col2 VARCHAR(50))
3  INSERT INTO @T
4  SELECT 1,'卸貨費','運輸車隊業(yè)務, 客服接單業(yè)務'
5  UNION ALL
6  SELECT 2,'報關費','報關業(yè)務、客服接單業(yè)務'
----SQL查詢如下:

SELECT
T.id,
A.x.value('.','varchar(10)') AS code,
B.x.value('.','varchar(10)') AS code2
FROM (
SELECT *,doc = CONVERT(xml,'<v>'+REPLACE(code,',','</v><v>')+'</v>'),
doc2=CONVERT(xml,'<v>'+REPLACE(code2,',','</v><v>')+'</v>')
FROM @T
) AS T
CROSS APPLY doc.nodes('//v') AS A(x)
CROSS APPLY doc2.nodes('//v') AS B(x)

方案2 

用SQL SERVER WITH 遞歸查詢

 1 WITH    roy
2 AS ( SELECT Col1 ,
3 COl2 = CAST(LEFT(Col2, CHARINDEX(',', Col2 + ',') - 1) AS NVARCHAR(100)) ,
4 Split = CAST(STUFF(COl2 + ',', 1,
5 CHARINDEX(',', Col2 + ','), '') AS NVARCHAR(100))
6 FROM Tab
7 UNION ALL
8 SELECT Col1 ,
9 COl2 = CAST(LEFT(Split, CHARINDEX(',', Split) - 1) AS NVARCHAR(100)) ,
10 Split = CAST(STUFF(Split, 1, CHARINDEX(',', Split), '') AS NVARCHAR(100))
11 FROM Roy
12 WHERE split > ''
13 )
14 SELECT COl1 ,
15 COl2
16 FROM roy
17 ORDER BY COl1
18 OPTION ( MAXRECURSION 0 )
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 欧美一区二区三区在线观看视频 | 日本最新黄色网址 | 亚洲高清在线播放 | www.超碰在线| 夜夜夜久久久 | 美女网站视频黄 | 国产一区二区三区 在线 | 日韩精品一区在线观看 | 91超碰免费在线 | 久久99精品久久久久久久久久久久 | 99热这里只有精品1 国产在线观看 | 国产成人视屏 | 搞黄视频在线看 | 欧美一区二区三区在线免费观看 | 国产日韩欧美视频 | 国产精品三级久久久久久电影 | 美女视频黄是免费 | 成人国产精品久久 | 亚洲精品电影在线观看 | 免费成人在线观看 | 一级毛片国产 | 亚洲精选久久 | 国产精品一区二区三区久久久 | 久久久久久久久久国产精品 | 欧美一区成人 | 日韩极品在线 | 午夜激情视频 | 国产在线精品视频 | 99国产精品久久久久久久 | 日韩一区精品 | 黄色avv| 欧美高清视频在线观看 | 国产精品国产三级国产在线观看 | 国产精品久久久久久久电影 | 久久福利| 久久av在线| 久久精品999| 欧美高清在线观看 | 欧美激情视频一区二区三区不卡 | 高潮av| 久久国产精品-国产精品 |