我需要在数据库中填充纬度和经度的列,但原始信息存储为单个字符串
例如
UDFChar1 = 41.243223,-8.183913
我猜测TRIM命令在这里会有用,但我不知道如何告诉它在每一半的逗号上完全停止。
我希望能够提出的是一个简单的UPDATE查询,如下所示:
UPDATE Asset
SET Lattitude = (SELECT LTRIM(UDFChar1)),
Longitude = (SELECT RTRIM(UDFChar1))
但显然在LTRIM和RTRIM部分有一些额外的工作,所以我只选择最多的数据,而不包括UDFChar1中的逗号
关于如何实现这一目标的任何想法?
答案 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