我有这样的价值:
43.3795, -80.4368, 3, -70,-150
我要做的是将值的前两部分分开,这样我得到43.3795作为一个值,-80.4368作为另一个。
我能够通过这样做获得我想要的第一部分:
substring_index(mapLocation, ',', 1) as 'Latitude'
我尝试了这个以获得第二部分:
substring_index(substring_index(mapLocation, ',', -2), ',',1) as 'Longitude'
但这只返回-80
如何获取完整项目-80.4368
?
答案 0 :(得分:2)
这不是SQL的用途,只是为了好玩......
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 |
+----------+