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

时间:2013-02-13 11:41:57

标签: sql tsql trim

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

例如

UDFChar1 = 41.243223,-8.183913

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

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

UPDATE Asset
SET Lattitude = (SELECT LTRIM(UDFChar1)),
Longitude = (SELECT RTRIM(UDFChar1))

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

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

1 个答案:

答案 0 :(得分:17)

请尝试:

left(Col, charindex(',', Col)-1)

right(Col, len(Col)-charindex(',', Col))

样品

SELECT 
    LEFT(COL, CHARINDEX(',', Col)-1) Lattitude, 
    RIGHT(COL, LEN(COL)-CHARINDEX(',', Col)) Longitude
 FROM(
    SELECT '41.243223,-8.183913' Col
)x