亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Sql Server數(shù)據(jù)把列根據(jù)指定內(nèi)容拆分?jǐn)?shù)據(jù)的方法實(shí)例

 更新時(shí)間:2020年06月26日 08:41:43   作者:凌晨與風(fēng)  
這篇文章主要給大家介紹了關(guān)于Sql Server數(shù)據(jù)把列根據(jù)指定內(nèi)容拆分?jǐn)?shù)據(jù)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Sql Server具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧

今天由于工作需要,需要把數(shù)據(jù)把列根據(jù)指定的內(nèi)容拆分?jǐn)?shù)據(jù)

其中一條數(shù)據(jù)實(shí)例

 select id , XXXX FROM BIZ_PAPER where  id ='4af210ec675927fa016772bf7dd025b0'

 

拆分方法:

select t3.id ,t3.XXXX as XXXX from (
select A.id , B.XXXX from (
SELECT id, XXXX = CONVERT(xml,'<root><v>' + REPLACE(XXXX , ',', '</v><v>') + '</v></root>') FROM BIZ_PAPER) A
outer apply(
SELECT XXXX = N.v.value('.', 'varchar(100)') FROM A.XXXX .nodes('/root/v') N(v)) B) t3 where t3.id ='4af210ec675927fa016772bf7dd025b0'

結(jié)果

 

在自己研究這行代碼之后,做出如下講解,如果有錯(cuò)誤的地方還請指教

SELECT id, XXXX = CONVERT(xml,'<root><v>' + REPLACE(XXXX , ',', '</v><v>') + '</v></root>') FROM BIZ_PAPER

這一行的重點(diǎn)在于CONVERT,XML是指類型,xml 數(shù)據(jù)類型實(shí)例拆分為關(guān)系數(shù)據(jù),則 nodes() 方法非常有用,至于XML類型的數(shù)據(jù),我后面進(jìn)行補(bǔ)充

REPLACE 指按照 ' , ' 進(jìn)行替換,并且按照指定的內(nèi)容進(jìn)行拼接

最后的結(jié)果為

 

outer apply

這個(gè)就是表的關(guān)聯(lián),就像是left join ,但是沒有on 作為關(guān)聯(lián)條件,所以通過拆分之后多出來的數(shù)據(jù)就是通過這個(gè)進(jìn)行關(guān)聯(lián)后產(chǎn)生的

 SELECT XXXX = N.v.value('.', 'varchar(100)') FROM A.XXXX .nodes('/root/v') N(v)

N.v.value('.','varchar(100)'),N是表,別名,v是列,value函數(shù)是讀取標(biāo)簽之間的值,對于這個(gè)列子,讀取的為<v>和</v>中間的值;這個(gè)可以去了解 xml類型的常用的三個(gè)方法 :value()、nodes()、exist()

value的第一個(gè)參數(shù)是一個(gè)字符串文字,從 XML 實(shí)例內(nèi)部檢索數(shù)據(jù)。 XQuery 必須最多返回一個(gè)值。 否則,將返回錯(cuò)誤;

value的第二個(gè)參數(shù)是指將查詢結(jié)果轉(zhuǎn)化為何種類型的數(shù)據(jù)。

此處,'.'表示當(dāng)前目錄,即<v>目錄,另外'..'表示上級目錄,'/'表示根目錄,這個(gè)跟Linux是一樣的

總的來說,這個(gè)語句的重點(diǎn)在于xml類型的使用和outer apply的使用,其他的都很好理解。這個(gè)就是我自己理解后的講解,部分位置我自己也還沒有理解透

總結(jié)

到此這篇關(guān)于Sql Server數(shù)據(jù)把列根據(jù)指定內(nèi)容拆分?jǐn)?shù)據(jù)的文章就介紹到這了,更多相關(guān)SqlServer數(shù)據(jù)列根據(jù)內(nèi)容拆分?jǐn)?shù)據(jù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論