You have tagged your question with SQL Server 2016, in SQL Server 2016 there is a new function STRING_SPLIT
.
In SQL Server 2016 your query should be as simple as:
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 , ',')
0
solved How to convert comma separated value into rows in sql server