• 一个字段串拆分成多行显示或者多行数据合并成一个字符串


    DECLARE @table1 TABLE
        (
          ID INT ,
          Col1 NVARCHAR(50) ,
          Col2 NVARCHAR(50)
        );
    INSERT  INTO @table1
    VALUES  ( 1, 'a,b,c', '诶,必,塞,地,伊' );
    INSERT  INTO @table1
    VALUES  ( 2, 'w', N'三四,不知道咧' ); 
    --方式一
    SELECT  a.ID ,
            a.Col1 ,
            a.Col2 ,
            v1 ,
            v2
    FROM    ( SELECT    ID ,
                        Col1 ,
                        Col2 ,
                        CONVERT(XML, '<n>' + REPLACE(REPLACE(Col1, '', ','), ',',
                                                     '</n><n>') + '</n>') AS xmlval1 ,
                        CONVERT(XML, '<n>' + REPLACE(REPLACE(Col2, '', ','), ',',
                                                     '</n><n>') + '</n>') AS xmlval2
              FROM      @table1
            ) a
            CROSS APPLY ( SELECT    k.n.value('.', 'nvarchar(80)') v1
                          FROM      a.xmlval1.nodes('n') k ( n )
                        ) bs
            CROSS APPLY ( SELECT    k.n.value('.', 'nvarchar(80)') v2
                          FROM      a.xmlval2.nodes('n') k ( n )
                        ) ns;
      --方式二
    SELECT  ID ,
            t.Col1 ,
            t.Col2 ,
            v1 ,
            v2
    FROM    @table1 AS t
            CROSS APPLY ( VALUES
            ( CONVERT(XML, '<n>' + REPLACE(REPLACE(Col1, '', ','), ',', '</n><n>')
            + '</n>'), CONVERT(XML, '<n>' + REPLACE(REPLACE(Col2, '', ','), ',',
                                                    '</n><n>') + '</n>')) ) a ( xmlval1, xmlval2 )
                                                                  CROSS APPLY ( SELECT
                                                                  k.n.value('.',
                                                                  'varchar(80)') AS v1
                                                                  FROM
                                                                  a.xmlval1.nodes('n') k ( n )
                                                                  ) bs
            CROSS APPLY ( SELECT    k.n.value('.', 'varchar(80)') AS v2
                          FROM      a.xmlval2.nodes('n') k ( n )
                        ) ns;

     转自:https://www.cnblogs.com/springsnow/p/10289104.html

  • 相关阅读:
    [转]Vetur can't find `tsconfig.json` or `jsconfig.json` in d:VueProjectsmyroute.
    疾病检验的概率的问题
    约束优化方法之拉格朗日乘子法与KKT条件
    GloVe与word2vec
    RNN、LSTM、GRU
    SVM 常见问题
    深度学习常用优化器算法Optimizer详解
    树模型-常见问题点
    leetcode 打家劫舍
    node 图片处理库 sharp
  • 原文地址:https://www.cnblogs.com/yyl001/p/13522571.html
Copyright © 2020-2023  润新知