【MySQL】拆分经纬度字段
数据结构:
表中一字段存储经度和纬度:
+---------------------------+
| INSTALL_LOLA_NUM |
+---------------------------+
| 23.0345735213,69.01224234 |
| 23.0340313,69.01224234 |
| 93.03453,69.01224234 |
| 10.23683,69.01224234 |
| 43.0345123,69.01224234 |
+---------------------------+
查询时,将其拆分成两个字段,经度和纬度
SQL解决办法:
使用 INSTR + RIGHT + LEFT + LENGTH 函数组合
SELECT
COL, -- 原始字段
INSTR(COL, ',') AS IDX, -- 逗号下标
LEFT(COL, INSTR(COL, ',') - 1) AS LEFT_CUT, -- 左切部分
RIGHT(COL, LENGTH(COL) - INSTR(COL, ',')) AS RIGHT_CUT -- 右切部分
FROM TABLE
案例效果:
+---------------------------+-----+---------------+-------------+
| C | IDX | LEFT_CUT | RIGHT_CUT |
+---------------------------+-----+---------------+-------------+
| 23.0345735213,69.01224234 | 14 | 23.0345735213 | 69.01224234 |
| 23.0340313,69.01224234 | 11 | 23.0340313 | 69.01224234 |
| 93.03453,69.01224234 | 9 | 93.03453 | 69.01224234 |
| 10.23683,69.01224234 | 9 | 10.23683 | 69.01224234 |
| 43.0345123,69.01224234 | 11 | 43.0345123 | 69.01224234 |
| 6 | 0 | | 6 |
| 7 | 0 | | 7 |
| 8 | 0 | | 8 |
| 9 | 0 | | 9 |
| 10 | 0 | | 10 |
| 11 | 0 | | 11 |
| 12 | 0 | | 12 |
| 13 | 0 | | 13 |
| 14 | 0 | | 14 |
| 15 | 0 | | 15 |
| 16 | 0 | | 16 |
| 17 | 0 | | 17 |
| 18 | 0 | | 18 |
| 19 | 0 | | 19 |
| 20 | 0 | | 20 |
| 21 | 0 | | 21 |
| 22 | 0 | | 22 |
| 23 | 0 | | 23 |
| 24 | 0 | | 24 |
+---------------------------+-----+---------------+-------------+
发现新的问题,右切会全切,在加一个判断,左切的判断
SELECT
C,
INSTR(C, ',') AS IDX,
LEFT(C, INSTR(C, ',') - 1) AS LEFT_CUT,
IF(LEFT(C, INSTR(C, ',') - 1) , RIGHT(C, LENGTH(C) - INSTR(C, ',')), '') AS RIGHT_CUT
FROM A
效果:
+---------------------------+-----+---------------+-------------+
| C | IDX | LEFT_CUT | RIGHT_CUT |
+---------------------------+-----+---------------+-------------+
| 23.0345735213,69.01224234 | 14 | 23.0345735213 | 69.01224234 |
| 23.0340313,69.01224234 | 11 | 23.0340313 | 69.01224234 |
| 93.03453,69.01224234 | 9 | 93.03453 | 69.01224234 |
| 10.23683,69.01224234 | 9 | 10.23683 | 69.01224234 |
| 43.0345123,69.01224234 | 11 | 43.0345123 | 69.01224234 |
| 6 | 0 | | |
| 7 | 0 | | |
| 8 | 0 | | |
| 9 | 0 | | |
| 10 | 0 | | |
| 11 | 0 | | |
| 12 | 0 | | |
| 13 | 0 | | |
| 14 | 0 | | |
| 15 | 0 | | |
| 16 | 0 | | |
| 17 | 0 | | |
| 18 | 0 | | |
| 19 | 0 | | |
| 20 | 0 | | |
| 21 | 0 | | |
| 22 | 0 | | |
| 23 | 0 | | |
| 24 | 0 | | |
+---------------------------+-----+---------------+-------------+
解决方案参考此博客:
https://www.cnblogs.com/liyue-sqsf/p/9077249.html
同样,使用LEFT + RIGHT 函数 可以实现 电话号脱敏
set @phone = 13566778899; select case
when length(@phone) = 11 then
concat(left(@phone,3),'****',right(@phone,4))
else @phone end as phone;
【MySQL】拆分经纬度字段的更多相关文章
- Mysql 计算地址经纬度距离实时位置
前言 最近在做项目时候,遇到一个这样子的需求, 点到卡包里面卡券使用使用,需要展示卡券使用附近门店, 思路 数据库地址表设计 通用的区域街道地址表tz_sys_area 字段名称 类型 备注 area ...
- 使用logstash读取MySQL数据传输到es,并且@timestamp字段采用MySQL中的字段时间--建议采用这个
MySQL中数据样式 ES中数据样式 input { jdbc { jdbc_connection_string => "jdbc:mysql://192.168.0.145:3306 ...
- Mysql hql字符串字段中是否包含某个字符串,用 find_in_set
有这样一个需求,在Mysql数据库字符串字段(权限)中,有范围在 1 到 N 之间代表不同权限的值,分别被','分开,现在要取出具有某权限的所有成员列表. 创建表: 1 CREATE TABLE us ...
- MySQL 表与字段编码格式报错
MySQL 表与字段编码格式报错 一.数据库,表,字段编码格式都为latin1(iso-8859-1) .当数据保存到数据库后,中文显示乱码. 解决办法: 1.在访问数据库连接串中添加编码格式: &l ...
- paip.解决 数据库mysql增加列 字段很慢添加字段很慢
paip.解决 数据库mysql增加列 字段很慢添加字段很慢 #环境如下: mysql5.6 数据仅仅3w alter table xxx add column yyy int default ...
- MYSQL的分区字段,必须包含在主键字段内
MYSQL的分区字段,必须包含在主键字段内 MYSQL的分区字段,必须包含在主键字段内 在对表进行分区时,如果分区字段没有包含在主键字段内,如表A的主键为ID,分区字段为createtime ,按 ...
- mysql中判断字段为空
mysql中判断字段为null或者不为null 在mysql中,查询某字段为空时,切记不可用 = null, 而是 is null,不为空则是 is not null select nulco ...
- MySQL根据某个字段查询重复的数据
select count(*) '个数',mobile '手机号',`name` '用户名' from users group by mobile having(count(*) > 1); = ...
- mysql添加一个字段(
mysql添加一个字段(在指定的一个字段后面) 举个栗子:alter table inquiry add error_code varchar(3) after add_time; 说明:alter ...
- 【mysql】在mysql中更新字段的部分值,更新某个字符串字段的部分内容
在mysql中更新字段的部分值,更新某个字符串字段的部分内容 sql语句如下: update goods set img = REPLACE(img,'http://ozwm3lwui.bkt.clo ...
随机推荐
- k8s——api
api概述 api是k8s系统的重要部分,组件之间的所有操作和通信均由apiserver处理的rest api调用,大多数情况下,api定义和实现都符合标准的http rest格式,可以通过kubct ...
- 箭头函数 函数中的this指向
// 箭头函数 // 在匿名函数中,使用 => 箭头来替换 关键词 function // 箭头定义下 () 和 {} 之间 // 等于在使 ...
- sql server 怎么在原有表上加自增长主键列,并指定主键名
sql server 怎么在原有表上加自增长主键列,并指定主键名: ALTER TABLE [Merchant_black] ADD Id bigint identity(1,1) constr ...
- requests高级操作
requests的Cookie处理 有时相关的需求会让我们去爬取基于某些用户的相关用户信息,例如爬取张三人人网账户中的个人身份信息.好友账号信息等. 那么这个时候,我们就需要对当前用户进行登录操作,登 ...
- 服务器安装mysql
数据库连接操作 修改root的hostupdate user set host='%' where user='root' and host ="127.0.0.1"flush p ...
- mybatis中的useGeneratedKeys="true"
Springboot中 Mybatis 配置文件 Mapper参数useGeneratedKeys="true" keyProperty="id"useGene ...
- Linux日志搜索 grep
1.关键字"或"的搜索, -E 不能少.grep -E "word1|word2|word3" file.txt满足任意条件(word1.word2和word3 ...
- HTML5 在泛在电力物联网的 10 大业务领域 2/3D 可视化应用
过去的 2018 年,我们认为是国内工业互联网可视化的元年,图扑软件作为在工业可视化领域的重度参与者,一线见证了众多 HTML5/Web 化.2D/3D 化的项目在工业界应用落地. 2019 年可以定 ...
- 为什么Python的多线程是假的呢?
https://www.zhihu.com/question/23474039/answer/269526476
- 记录一次 OpenStack 集群在创建虚机后无法获取 IP 的问题
现象 所有的组件状态都是正常工作的,DHCP 服务正常工作,在个个虚拟网络设备端口抓包,发现 OpenVSwitch 上 DHCP 包可以通行,虚机获取 DHCP Discover 请求可以正常发出, ...