我想知道是否可以使用字符串操作通过单个查询提取多个数据。
这是我要查找的内容我的查询返回了我
+-----------------------------------------+
| geodata |
+-----------------------------------------+
| {"lat"=>"28.644348", "lon"=>"77.219682" |
+-----------------------------------------+
我可以通过任何字符串查询提取lat
值和lon
值吗?
我尝试并成功达到了提取单个值的目的。
谁能建议我该怎么做?
当然,我可以在将数据拉到我的Rails应用程序后执行此操作,但是我正在考虑直接从查询中拉出此数据。
是的,可以假设您显示的图案相同来完成
mysql> select replace(substring_index(substring_index('{"lat"=>"28.644348", "lon"=>"77.219682"','"lat"=>',-1),',',1),'"','') as lat;
+-----------+
| lat |
+-----------+
| 28.644348 |
+-----------+
1 row in set (0.00 sec)
mysql> select replace(substring_index(substring_index('{"lat"=>"28.644348", "lon"=>"77.219682"','"lon"=>',-1),',',1),'"','') as lon;
+-----------+
| lon |
+-----------+
| 77.219682 |
+-----------+
所以最后您可以将它们两者合并为一个选择
select
replace(substring_index(substring_index(geodata,'"lat"=>',-1),',',1),'"','') as lat,
replace(substring_index(substring_index(geodata,'"lon"=>',-1),',',1),'"','') as lon
from your_table
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句