【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 ...
随机推荐
- 震惊!docker镜像还有这些知识你都知道吗
震惊!docker镜像还有这些知识你都知道吗? 镜像搜索 语法 [root@hmm docker-hello]# docker search -h Flag shorthand -h has been ...
- c# webApi返回Excel数据流 || 使用Excel数据流的方式下载Excel
背景: 在前端无法生成特殊的excel表格,或操作复杂的时候会通过后台进行生成excel.但是服务器的资源也非常宝贵,所以通过数据流的方式就可以实现:不在服务器存储的情况下,使前端成功下载excel文 ...
- vue-cli 单文件组件 工具安装
https://cli.vuejs.org/zh/ 在很多 Vue 项目中,我们使用 Vue.component 来定义全局组件,紧接着用 new Vue({ el: '#container '}) ...
- kali linux主题美化
Kali 主题美化 先放张安装了主题的图片: 执行下面命令下载主题文件: git clone https://github.com/daniruiz/flat-remix-gtk.git git cl ...
- java 中 pop 和 peek 方法区别
相同点:都返回栈顶的值. 不同点:peek 不改变栈的值(不删除栈顶的值),pop会把栈顶的值删除. 下面通过代码展现 /* * 文 件 名: TestPeekAndPopDiff.java */ i ...
- JAVA发送邮件报错: 535 Error: authentication failed, system busy。
解决方法: 1.设置 -> 微信绑定 -> 开启安全登录 -> 生成新密码 2.使用生成的新密码替换邮箱登录密
- 为什么说 Mybatis 是半自动 ORM 映射工具?它与全自动的区别在哪里?
Hibernate 属于全自动 ORM 映射工具,使用 Hibernate 查询关联对象或者关联集合对象时,可以根据对象关系模型直接获取,所以它是全自动的.而 Mybatis 在查询关联对象或关联集合 ...
- 探索Semantic Kernel内置插件:深入了解ConversationSummaryPlugin的应用
前言 经过前几章的学习我们已经熟悉了Semantic Kernel 插件的概念,以及基于Prompts构造的Semantic Plugins和基于本地方法构建的Native Plugins.本章我们来 ...
- MYSQL-check管理
mysql这个东西对于管理员并不友好,看起来还没有成品.就拿亲儿子workbeanch来说吧,功能也不是很齐全,速度也一般般,否则sqlyog之类的早没有什么活路了. 社区版的支持非常薄弱(商业版不太 ...
- Python使用Matplotlib画以日期为X轴的图
Python使用Matplotlib画以日期为X轴的图 步骤: 用pd把字符串格式的日期转成date格式. 使用 AutoDateLocator 设置x轴的属性. 1 from matplotlib ...