如何在SQL Server中拆分字符串

him*_*dri 16 sql t-sql sql-server-2005

我有以下输入:

Data
-----
A,10
A,20
A,30
B,23
B,45
Run Code Online (Sandbox Code Playgroud)

预期产量:

col1  Col2
----  -----
A      10
A      20
A      30
B      23
B      45
Run Code Online (Sandbox Code Playgroud)

如何拆分字符串以产生所需的输出?

nik*_*trs 35

SELECT substring(data, 1, CHARINDEX(',',data)-1) col1,
substring(data, CHARINDEX(',',data)+1, LEN(data)) col2
FROM table
Run Code Online (Sandbox Code Playgroud)


t-c*_*.dk 5

我知道要点已经给出了,无论如何都会发布它,因为我认为它稍微好一些

DECLARE @t TABLE (DATA VARCHAR(20))

INSERT @t VALUES ('A,10');INSERT @t VALUES ('AB,101');INSERT @t VALUES ('ABC,1011')

SELECT LEFT(DATA, CHARINDEX(',',data) - 1) col1, 
RIGHT(DATA, LEN(DATA) - CHARINDEX(',', data)) col2
FROM @t
Run Code Online (Sandbox Code Playgroud)