2

データベースに緯度と経度の列を入力する必要がありますが、元の情報は単一の文字列として保存されます

例えば。

UDFChar1 = 41.243223,-8.183913

ここで TRIM コマンドが役立つと思いますが、各半分のコンマで正確に停止するように指示する方法がわかりません。

私が思いつくことができることを望んでいるのは、以下のような単純な UPDATE クエリです。

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

ただし、明らかに LTRIM および RTRIM 部分で追加の作業が行われるため、UDFChar1 にコンマを含めずに、データまでを選択するだけです。

これを達成する方法についてのアイデアはありますか?

4

1 に答える 1

18

してみてください:

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
于 2013-02-13T11:47:17.307 に答える