【发布时间】:2016-06-09 07:08:59
【问题描述】:
我正在对数据库运行查询,并且我在表中有一个“坐标”列。坐标列的数据格式如下:
{"lat":40.74,"lng":-73.98}
我需要运行一个查询,将纬度和经度显示在不同的列中,因此会有一个标有“纬度”的列显示 40.74,另一个标有“经度”的列显示 73.98。
【问题讨论】:
标签: sql postgresql
我正在对数据库运行查询,并且我在表中有一个“坐标”列。坐标列的数据格式如下:
{"lat":40.74,"lng":-73.98}
我需要运行一个查询,将纬度和经度显示在不同的列中,因此会有一个标有“纬度”的列显示 40.74,另一个标有“经度”的列显示 73.98。
【问题讨论】:
标签: sql postgresql
创建表 tbPlace ( PlaceId 整数, 坐标 varchar(255) );
插入 tbPlace(placeId, coord) 值(1, '"lat":40.74,"lng":-73.98');
插入 tbPlace(placeId, coord) 值(1, '"lat":-20.74,"lng":20.98');
选择 地点 ID ,cast(substr(coord, instr(coord, 'lat')+5, instr(coord, ',')-instr(coord, 'lat')+5) as float) as latitude1 ,cast(substr(coord, instr(coord, 'lng')+5, length(coord)-instr(coord, 'lng')+5) as float) as longitude1 来自 tbPlace;
删除表 tbplace;
【讨论】: