关于SQL语句中-使用正则的方式匹配-排除包含任意字母点两个字符的字符串

发布时间 2023-06-06 17:29:11作者: 520_1351

今天对自己的一个数据库表中查询指定配置的实例信息,SQL语句如下:

select
    *
from
    aws_ec2_price
where
    `year` = 1
    and os_type = 'Windows'
    and vcpu = 16
order by
    memory ;

查询出来的结果如下(仅列出了部分):

但是还是想继续排列非常用机型(基于的标准就是,实例类型都是以点分隔的字符串,笔者想排除任意字母点的机型,而只需要数字点的常用机型

于是笔者就尝试了一下,可以使用如下的SQL进行与正则的排除查询(核心的就是 instance_type not regexp '[a-z]\\.' )~

select
    *
from
    aws_ec2_price
where
    `year` = 1
    and os_type = 'Windows'
    and instance_type not regexp '[a-z]\\.'
    and vcpu = 16
order by
    memory ;

这样查询出来的,就全部是数字接着点符号的机型/实例类型了~

特别需要注意的知识点就是 点 需要使用 \\. 进行转义才能表示真正的 点 符号  , 必须写上 两个\符号

 

 

 

尊重别人的劳动成果 转载请务必注明出处:https://www.cnblogs.com/5201351/p/17461177.html