MSSQL 指定分隔符号 生成数据集

Posted btag

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MSSQL 指定分隔符号 生成数据集相关的知识,希望对你有一定的参考价值。

DECLARE
    @xml VARCHAR(MAX)=磨毛:1
缩率:2
干磨:3
湿摩:4
水洗牢度:5
手感:6
防水:7
PH:8
日晒: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 t.v.query(.).value(/r[1]/v[1],varchar(50)) as gy,
       t.v.query(.).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 [磨毛],NULL AS [缩率],NULL AS [干磨],NULL AS [湿摩],NULL AS [水洗牢度],NULL AS [手感],NULL AS [防水],NULL AS [PH],NULL AS [日晒]
              ,ERROR_MESSAGE()   
END CATCH

--这里展示的是多列的情况

以上是关于MSSQL 指定分隔符号 生成数据集的主要内容,如果未能解决你的问题,请参考以下文章

如何将多行生成为 1 列值或在 MSsql 中用逗号分隔的 sql 语句

excel一列变多列(按指定文字分列)

Oracle数据库从RMAN备份集片段还原指定单个归档日志进行日志挖掘分析

[Azure/mssql]如何获取插入查询记录集

mssql 数据库“查询处理器用尽了内部资源,无法生成查询计划。”问题的处理

R语言使用read_table函数读取文本文件或者文本数据生成dataframe数据集从分隔文本文件中导入数据(Importing data from a delimited text file)