我的Presto查询返回的坐标(纬度和经度)为不带小数的字符串。为了在查询中进一步使用这些值,需要插入十进制。
{"latitude":37463030,"longitude":-122234966,"timestamp":1556991970"}
第一个值latitutde
在两个位置后需要一个小数,而第二个值longitude
在三个位置后需要一个小数。
据我所知,您需要一个定界符才能用split(string, delimiter)
分割字符串。如果您只想在第一种情况下在两个位置后面插入字符,而在第二种情况下在三个位置后面插入字符怎么办?
任何建议将不胜感激。
答案 0 :(得分:1)
将值视为数字并除法怎么样?
select cast(-122234966 as numeric(20, 7)) / 10000000
我不清楚您为什么首先要将这些值存储为字符串。