DECLARE @xml VARCHAR ( MAX ) = ' Brossage : 1 Rétrécissement: 2 Broyage à sec: 3 Frottement humide: 4 Solidité au lavage: 5 Sensation: 6 Imperméable: 7 PH: 8 Exposition au soleil: 9 ' SET @xml = ' < root> ' + CHAR ( 10 ) + ' <r> <v> ' + REPLACE ( REPLACE ( @xml , CHAR ( 10 ), ' </ v1> </ r> ' + CHAR ( 13 ) +' <r> <v> ' ), ' :' , ' </v> <v1> ' ) + ' </v1> </r> ' + CHAR ( 10 ) + ' </root> ' BEGIN TRY DECLARE @ xml2 XML = @xml SELECT * FROM ( SELECT tvquery ( ' . ' ) .value ( ' / r [1] / v [1] ' , ' varchar (50) ') comme 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 ( [ Brushed ] , [ Shrinkage ] , [ Dry Grind ] , [ Wet Rub ] , [ Solidité au lavage ] , [ Feel ] , [ Waterproof ] , [ PH ] , [ Sunlight ] )) AS pvt END TRY BEGIN CATCH IF @@ ERROR > 0 SELECT NULL AS [ Brushed ] , NULL AS [ Shrinkage ] , NULL AS [ Dry Grind ] , NULL AS [ Frottement humide ] , NULL AS [ solidité au lavage ] , NULL AS [Feel ] ,NULL AS [ Waterproof ] , NULL AS [ PH ] , NULL AS [ Sunlight ] , ERROR_MESSAGE () END CATCH --Le
cas illustré ici est pour plusieurs colonnes
MSSQL spécifie le délimiteur pour générer un ensemble de données
Je suppose que tu aimes
Origine www.cnblogs.com/BTag/p/12699696.html
conseillé
Classement