Fur*_*ala -2 sql-server sql-server-2008 sql-server-2016
如何将逗号分隔值转换为:
桌子
User Name Unit
ABC 2,3
Run Code Online (Sandbox Code Playgroud)
到以下:
User Name Unit
ABC 2
ABC 3
Run Code Online (Sandbox Code Playgroud)
您已用 SQL Server 2016 标记了您的问题,在 SQL Server 2016 中有一个新功能STRING_SPLIT。
在 SQL Server 2016 中,您的查询应该简单如下:
declare @tab table ([user_name] varchar(10),Unit varchar(100))
insert into @tab
VALUES ('ABC','1,2')
SELECT t.[user_name]
, Value as Unit
FROM @tab t
CROSS APPLY STRING_SPLIT(t.Unit , ',')
Run Code Online (Sandbox Code Playgroud)