MySQL substring_index用于逗号

时间:2016-06-01 14:29:42

标签: mysql

我有这样的价值:

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

1 个答案:

答案 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 |
+----------+