SQL Server:如何使用逗号作为分隔符拆分字符串

Jed*_*abe 2 sql t-sql trim

我需要在数据库中填充纬度和经度的列,但原始信息存储为单个字符串

例如.

UDFChar1 = 41.243223,-8.183913
Run Code Online (Sandbox Code Playgroud)

我猜这个TRIM命令在这里会有用,但我不知道如何告诉它在每一半的逗号上完全停止.

我希望能够提出的是一个简单的UPDATE查询,如下所示:

UPDATE Asset
SET Lattitude = (SELECT LTRIM(UDFChar1)),
Longitude = (SELECT RTRIM(UDFChar1))
Run Code Online (Sandbox Code Playgroud)

但显然在LTRIM和RTRIM部分有一些额外的工作,所以我只选择最多的数据,而不包括UDFChar1中的逗号

关于如何实现这一点的任何想法?

Tec*_*hDo 17

请试试:

left(Col, charindex(',', Col)-1)
Run Code Online (Sandbox Code Playgroud)

right(Col, len(Col)-charindex(',', Col))
Run Code Online (Sandbox Code Playgroud)

样品

SELECT 
    LEFT(COL, CHARINDEX(',', Col)-1) Lattitude, 
    RIGHT(COL, LEN(COL)-CHARINDEX(',', Col)) Longitude
 FROM(
    SELECT '41.243223,-8.183913' Col
)x
Run Code Online (Sandbox Code Playgroud)