如何在multipale列中拆分列值

古里香卡

你能告诉我如何潜水吗

ID     SN    Types
1      123   ABC,XYZ,TEST, RJK,CDF,TTT,UMB,UVX
2      234   RJK,CDF,TTT,UMB,UVX,TTT,UMB,UVX
3      345   OID,XYZ,TTT,UMB,UVX,TTT,UMB,UVX

作为

 ID     SN    Types1  Types2  Types3  Types4  Types5  Types6  Types7  Types8
 1      123   ABC       XYZ    TEST     RJK    CDF     TTT     UMB     UVX  
 2      234   RJK       CDF    TTT      UMB    UVX     TTT     UMB     UVX 
 3      345   OID       XYZ    TTT      UMB    UVX     TTT     UMB     UVX 

请给我发送sql代码thanx,

亚伦·伯特兰(Aaron Bertrand)

首先,创建一个维护顺序的拆分函数:

CREATE FUNCTION [dbo].[SplitStrings_Ordered]
(
    @List       NVARCHAR(MAX),
    @Delimiter  NVARCHAR(255)
)
RETURNS TABLE
AS
    RETURN (SELECT [Index] = ROW_NUMBER() OVER (ORDER BY Number), Item 
    FROM (SELECT Number, Item = SUBSTRING(@List, Number, 
      CHARINDEX(@Delimiter, @List + @Delimiter, Number) - Number)
     FROM (SELECT ROW_NUMBER() OVER (ORDER BY [object_id])
      FROM sys.all_objects) AS n(Number)
      WHERE Number <= CONVERT(INT, LEN(@List))
      AND SUBSTRING(@Delimiter + @List, Number, LEN(@Delimiter)) = @Delimiter
    ) AS y);

现在,您可以将此功能与结合使用PIVOT这是一个自封闭的示例,但是您可以@d在最后一个查询中用您的实际表替换

DECLARE @d TABLE(ID INT, SN INT, Types NVARCHAR(MAX));

INSERT @d VALUES
(1,123,N'ABC,XYZ,TEST, RJK,CDF,TTT,UMB,UVX'),
(2,234,N'RJK,CDF,TTT,UMB,UVX,TTT,UMB,UVX'  ),
(3,345,N'OID,XYZ,TTT,UMB,UVX,TTT,UMB,UVX'  );

SELECT ID,SN,
 Types1 = [1], Types2 = [2], Types3 = [3], Types4 = [4],
 Types1 = [5], Types6 = [6], Types7 = [7], Types8 = [8]
FROM @d AS d CROSS APPLY dbo.SplitStrings_Ordered(d.Types, ',') AS y
PIVOT (MAX(Item) FOR [Index] IN ([1],[2],[3],[4],[5],[6],[7],[8])) AS p;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Oracle SQL中拆分列值

来自分类Dev

如何在Prolog中拆分列表?

来自分类Dev

如何在python中拆分列表

来自分类Dev

如何在Flutter中拆分列表

来自分类Dev

如何在Scala中拆分列表?

来自分类Dev

如何在元组中拆分列表?

来自分类Dev

在Pandas中,如何根据另一个列中的值拆分列?

来自分类Dev

如何在mongoDB中拆分列值并在$ gt上使用?

来自分类Dev

在sqlite中拆分列值

来自分类Dev

如何在每个X列之后使用python抓取在Excel文件中拆分列?

来自分类Dev

拆分列表中每列的不同值数

来自分类Dev

拆分列中的所有值以创建新列

来自分类Dev

如何在Python中拆分列表元素

来自分类Dev

如何在python,Spark json文件中拆分列

来自分类Dev

如果tidyr无法下载,如何在R中拆分列?

来自分类Dev

如何在Javascript / React中拆分列表项的文本?

来自分类Dev

如何在python中拆分列表列表的元素?

来自分类Dev

如何在Python中使用正则表达式按括号拆分列表中的值?

来自分类Dev

如何在数据框中拆分列并添加拆分值

来自分类Dev

如何在列中的每个不同值上拆分DataFrame?

来自分类Dev

如何获得与SQL中的拆分列值相关的不同值

来自分类Dev

SQL Server - 如何在拆分列中选择我的值的记录

来自分类Dev

拆分列表的值

来自分类Dev

拆分列并选择值

来自分类Dev

根据值拆分列

来自分类Dev

在Kettle中,如何拆分列的值并插入到两个不同的表中?

来自分类Dev

如何用逗号分隔的值拆分列并存储在PySpark的Dataframe中的数组中?如下

来自分类Dev

根据定界符拆分列值,并与postgres中的另一列匹配

来自分类Dev

如何拆分列表并获取python中的最后一个值

Related 相关文章

热门标签

归档