一、准备数据

-- 创建表
create table if not exists tmp_data_20201210
(data string comment '测试数据'
);
-- 查看创建完的表结构
desc tmp_data_20201210;-- 插入数据
insert into tmp_data_20201210
(data)
values
('111.11.1'),
('3.444'),
('17'),
('sss.sssss.222'),
('sss.sssss'),
('Smojojodhuhuhu'),
('Xh34556'),
('Xh34556.dww3444'),
('Xh34556.44444'),
('55555.adhoh2233.44444')
;
-- 查询数据
select * from tmp_data_20201210 limit 100;

数据表展示图

二、取纯数字类型的大版本(按点切分的第一列)

select distinct
if(regexp_extract(SPLIT_PART(data,'.',1),'(^d+$)',0)='',null,SPLIT_PART(data,'.',1))
as data
from tmp_data_20201210
limit 100;
-- SPLIT_PART(data,'.',1) 按点切分,取第一列
-- regexp_extract(字段名,'(^d+$)',0) 判断字段是否是数字 不是数字的返回空''

纯数字类型

regexp_extract

regexp_extract(1,2,3) 字符串正则表达式解析函数
第一参数:要处理的字段
第二参数:需要匹配的正则表达式
第三个参数:
0 是显示与之匹配的整个字符串
1 是显示第一个括号里面的
2 是显示第二个括号里面的字段

常见应用

^       表示开头
$       表示结尾
.       表示任意字符
*       表示任意多个
?   匹配前面元字符0次或1次,/ba*/将匹配b,ba
+  匹配前面元字符1次或多次,/ba*/将匹配ba,baa,baaa
x|y 匹配x或y
{n} 精确匹配n次
{n,}    匹配n次以上
{n,m}   匹配n-m次
[xyz]   字符集(character set),匹配这个集合中的任一一个字符(或元字符)
[^xyz]  不匹配这个集合中的任何一个字符
/d  匹配一个字数字符,//d/ = /[0-9]/
/D  匹配一个非字数字符,//D/ = /[^0-9]/
/w  匹配一个可以组成单词的字符(alphanumeric,含数字),包括下划线,如[/w]匹配"$5.98"中的5,等于[a-zA-Z0-9]
/W  匹配一个不可以组成单词的字符,如[/W]匹配"$5.98"中的$,等于[^a-zA-Z0-9]。
/b  匹配一个单词的边界
/B  匹配一个单词的非边界
/       做为转意,即通常在"/"后面的字符不按原来意义解释,如/b/匹配字符"b",当b前面加了反斜杆后//b/,转意为匹配一个单词的边界。-或-对正则表达式功能字符的还原,如"*"匹配它前面元字符0次或多次,/a*/将匹配a,aa,aaa,加了"/"后,/a/*/将只匹配"a*"。

其他应用

(x)   匹配x保存x在名为$1...$9的变量中
[/b]    匹配一个退格符
/cX 这儿,X是一个控制符,//cM/匹配Ctrl-M
/n  匹配一个换行符
/r  匹配一个回车符
/s  匹配一个空白字符,包括/n,/r,/f,/t,/v等
/S  匹配一个非空白字符,等于/[^/n/f/r/t/v]/
/t  匹配一个制表符
/v  匹配一个重直制表符

三、去掉null的数据

select distinct a.data
from(select distinct if(regexp_extract(SPLIT_PART(data,'.',1),'(^d+$)',0)='',null,SPLIT_PART(data,'.',1)) as datafrom tmp_data_20201210
) a where a.data is not null
limit 100;

最终结果

mysql如何判断是否有这个字段_判断字段是否是纯数字相关推荐

  1. mysql 判断list不为空_判断List集合为空还是null的正确打开方式

    事故场景还原 最近在写一个项目的时候遇到一个这样一个问题,我简单的还原一下场景,这是模拟一个简单的管理系统 ① 一张简单的客户表 CREATE TABLE customer( id INT(11) N ...

  2. python判断线程是否执行完成_判断Threading.start新线程是否执行完毕的实例

    新写自己的Threading类 class MyThread(threading.Thread):#我的Thread类 判断流程结束没 用于os shell命令是否执行判断 def __init__( ...

  3. java自定义字段_自定义字段的设计与实现(Java实用版)

    前言 自定义字段又叫做"开放模型",用户可以根据自已的需求,添加需要的字段,实现个性化定制. 使用自定义字段的目的,使用自定义字段解决哪些问题 如现有一套CRM系统,客户模块中客户 ...

  4. 写一个方法判断一个字符串是否对称_判断一个男生是否好色的方法

    ▾ 我们店只招黑喵哦? ▾ 其实也不是不能理解为什么男的要跑? ▾ 有什么相见恨晚的小知识?? ▾ 见证奇迹?:是不是穿过去了!? ▾ 医学奇迹? ▾ 卧槽流劈!?真的超光速了! ▾ 细节很到位啊几位 ...

  5. aop判断方法是否执行成功_判断图中是否有环的三种方法

    0.什么是环? 在图论中,环(英语:cycle)是一条只有第一个和最后一个顶点重复的非空路径. 在有向图中,一个结点经过两种路线到达另一个结点,未必形成环. 1.拓扑排序 1.1.无向图 使用拓扑排序 ...

  6. python 判断线程是否执行完毕_判断线程池中的线程是否全部执行完毕

    在使用多线程的时候有时候我们会使用 java.util.concurrent.Executors的线程池,当多个线程异步执行的时候,我们往往不好判断是否线程池中所有的子线程都已经执行完毕,但有时候这种 ...

  7. java判断线段是否相交函数_判断线段是否相交… | 学步园

    判断直线是否相交,貌似很容易,直接用一个向量叉乘公式:x1*y2-x2*y1.如果结果为0,则直线是平行或者重合,否则必然相交... 但如何判断两条线段是否相交呢?我们给出了两条线段的四个端点,这两条 ...

  8. 遍历字段_以字段覆盖标准指导的高效测试生成技术

    1. 介绍 众所周知,测试本质上是不完整的,不能保证功能的正确性.因此,用有限的测试用例集覆盖尽可能多的软件功能至关重要.有人提出了不同的覆盖标准,即对一组测试套件应如何使用软件的约束.这些约束在许多 ...

  9. java判断线与矩形相交_判断任意多边形与矩形的相交(线段与矩形相交或线段与线段相交)...

    任意多边形与矩形的相交,其实就是判断多条线段是否与这个矩形相交,再简单点就是判断线段是否与矩形的每一条边相交了.那现在,我们先来看看判断一条线段与矩形的其中一条线段的相交的情况(上方水平线): (图形 ...

最新文章

  1. Maven的简单配置说明
  2. 搜索推荐中的召回匹配模型综述(二):基于表示学习的深度学习方法
  3. Android布局动态化,一种基于堆积木思想的卡片式Android动态布局方法与流程
  4. SAGA-GIS软件下载
  5. nginx配置多个域名_Nginx配置多个网站/项目的简单方式
  6. invoke 魔术_PHP常用魔术方法(__invoke魔术方法)
  7. Mac OSX上pg gem的安装问题
  8. linux安全策略加固文档_系统加固之Linux安全加固
  9. 南非 KMP 媒体集团实施了 DMS(文档管理系统)使流程数字化,员工可以再次专注于他们的实际任务,提供了效率
  10. 让IE中的IFrame透明
  11. 没有测量就没有管理,怀念DNW和复习盖洛普Q12
  12. springcloud阿里巴巴五大组件_阿里巴巴内部独家微服务全解手册已“重现江湖”大厂核心技术,你确定不了解一下?...
  13. Deep Feedforward Networks(3)
  14. java设置隐式事务_隐式事务 - -Timothy- - 博客园
  15. LVGL笔记11--lv_btn按钮
  16. 基于Angularjs框架实现HTML5在线查看OFD文件
  17. Android 关于RemoteViews的理解(一)
  18. 5-3 区块链与供应链金融
  19. 软件开发项目经理职责
  20. 【转】不是眼保健操无用,而是运用的不合理

热门文章

  1. flink的Yarn模式
  2. 【muduo源码分析】TcpServer服务架构
  3. 360强力删除也无法删除的文件 的 终极删除方法
  4. [Swift]LeetCode85. 最大矩形 | Maximal Rectangle
  5. 从输入URL到页面渲染完成 -戈多编程
  6. oc UIAlertController封装
  7. HTTP Header 详解【转】
  8. Unity NGUI中动态添加和删除sprite
  9. Android学习第六天---seekbar
  10. Delphi在代码编辑栏按回车无法换行