2016-06-01 6 views
0

Ich habe einen Wert wie so:MySQL SUBSTRING_INDEX für Kommata

43.3795, -80.4368, 3, -70,-150 

Was ich versuche, getrennt zu tun ist, die ersten beiden Teile des Wertes so I 43,3795 als einen Wert und -80,4368 als andere bekommen.

konnte ich den ersten Teil I, indem Sie diese erhalten möchten:

substring_index(mapLocation, ',', 1) as 'Latitude' 

und ich versuchte, dies den zweiten Teil zu bekommen:

substring_index(substring_index(mapLocation, ',', -2), ',',1) as 'Longitude' 

aber dies gibt nur -80

Wie bekomme ich den vollständigen Artikel -80.4368?

Antwort

2

Dies ist nicht das, was für SQL, aber nur zum Spaß ...

SET @s = "43.3795, -80.4368, 3, -70,-150"; 

SELECT * FROM ints; 
+---+ 
| i | 
+---+ 
| 0 | 
| 1 | 
| 2 | 
| 3 | 
| 4 | 
| 5 | 
| 6 | 
| 7 | 
| 8 | 
| 9 | 
+---+ 

SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(@s,',',i),',',-1)+0 x FROM ints i; 
+----------+ 
| x  | 
+----------+ 
|  0 | 
| 43.3795 | 
| -80.4368 | 
|  3 | 
|  -70 | 
|  -150 | 
|  -150 | 
|  -150 | 
|  -150 | 
|  -150 | 
+----------+ 
Verwandte Themen