MSSQLは、データセットを生成するための区切り文字を指定します

DECLARE 
    @xml  VARCHARMAX= ' ブラッシング:1 
収縮:2 
乾式研磨:3 
湿式摩擦:4 
洗濯堅牢度:5 
感触:6 
防水性:7 
PH:8 
日光:9 ' 

SET  @xml =  ' < root> ' + CHAR10+ ' <r> <v> ' + REPLACEREPLACE@xmlCHAR10)、' </ v1> </ r> ' + CHAR13+' <R> <V> ')、' '' </ V> <V1> '+ ' </ V1> </ R> ' + CHAR10+ ' </ルート> ' 
BEGIN TRYの

DECLAREを
    @ xml2 XML =  @xml 
    
SELECT  *  FROM SELECT tvquery(' '. value(' / r [1] / v [1] '' varchar(50)'としてGY、 
       (tvquery' '. value(' / r [1] / v1 [1] '' varchar(50)'as gyyq
 FROM  @ xml2 .nodes(' / root / r ' )t(v))a 
PIVOT(MAX(gyyq)FOR GyをIN[ サンディング][ 収縮率][ 乾式粉砕][ 湿式摩擦][ 洗濯堅牢度][ タッチ][ 防水][ PH ][ 日光]))AS pvt
 END TRY
 BEGIN CATCH
     IF  @@ ERROR > 0 
        SELECT  NULL  AS  [ Brushed ]NULL  AS  [ 収縮率]NULL  AS  [ 乾式粉砕]NULL  AS  [ 湿式摩擦]NULL  AS  [ 洗濯堅牢度]NULL  AS  [ 感触]NULL  AS  [ ]NULL  AS  [ PH ]NULL  AS  [ 太陽] 
              、ERROR_MESSAGE()    
END CATCH 

-ここに示されているが、複数の列である場合

おすすめ

転載: www.cnblogs.com/BTag/p/12699696.html