2

I need to populate columns in my database for Latitude and Longitude, however the original information is stored as a single string

eg.

UDFChar1 = 41.243223,-8.183913

I am guessing that the TRIM command will come in useful here, but I do not know how I can tell it to stop exactly on the comma for each half.

What I'm hoping to be able to come up with is a simple UPDATE query as per the below:

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

but obviously with some extra work in the LTRIM and RTRIM parts so that I am only selecting the data up to, and not including the comma in UDFChar1

Any ideas on how to achieve this?

marc_s
  • 732,580
  • 175
  • 1,330
  • 1,459
Jediwannabe
  • 85
  • 2
  • 2
  • 4

1 Answers1

18

Please try:

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

and

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

sample

SELECT 
    LEFT(COL, CHARINDEX(',', Col)-1) Lattitude, 
    RIGHT(COL, LEN(COL)-CHARINDEX(',', Col)) Longitude
 FROM(
    SELECT '41.243223,-8.183913' Col
)x
TechDo
  • 18,398
  • 3
  • 51
  • 64
  • Thank you! I was able to adapt this to do exactly what I needed. – Jediwannabe Feb 14 '13 at 09:47
  • Code for reference - 'UPDATE Asset SET Latitude = (SELECT left(UDFChar1, charindex(',', UDFChar1)-1)), Longitude = (SELECT right(UDFChar1, len(UDFChar1)-charindex(',', UDFChar1)))' – Jediwannabe Feb 14 '13 at 09:48