mysql函数—001通过regexp实现对字母或数字进行过滤

mysql函数—001通过regexp实现对字母或数字进行过滤

实现MySQL 正则表达式
MySQL 同样也支持其他正则表达式的匹配, MySQL中使用 REGEXP 操作符来进行正则表达式匹配。
如果您了解PHP或Perl,那么操作起来就非常简单,因为MySQL的正则表达式匹配与这些脚本的类似。
下表中的正则模式可应用于 REGEXP 操作符中。
在这里插入图片描述

表中信息
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

DROP TABLE IF EXISTS `student`;
CREATE TABLE `student`  (
  `name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `stu_count` int(0) NULL DEFAULT NULL
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

INSERT INTO `student` VALUES ('c1', 33);
INSERT INTO `student` VALUES ('c2', 44);
INSERT INTO `student` VALUES ('c3', 57);
INSERT INTO `student` VALUES ('c4', 57);
INSERT INTO `student` VALUES ('11', NULL);
INSERT INTO `student` VALUES ('BC3', NULL);
INSERT INTO `student` VALUES ('ab', NULL);
INSERT INTO `student` VALUES ('33', NULL);
INSERT INTO `student` VALUES ('67', NULL);
INSERT INTO `student` VALUES (NULL, NULL);

SET FOREIGN_KEY_CHECKS = 1;
所有name列的信息

在这里插入图片描述

筛选出来name列 中含有特殊字符的信息

如果我们想判断一个字符串或者数据字段中是否包含有特殊字符。可以使用正则来实现。除了大小字母和数字之外全是特殊字符[^a-zA-Z0-9]

select name from zmh.student where name not  regexp '[a-zA-Z0-9]';
-- 筛选出来只包含特殊字符的数据
筛选出来name列 所有的包含字母的数据
select name from zmh.student where name not  regexp '^c';
-- 筛选出来所有的以字母c开头的name

在这里插入图片描述

select name from zmh.student where name   regexp '[a-z]';
--筛选出来所有的包含字母的数据

在这里插入图片描述

select name from zmh.student where name not   regexp '[a-z]';
--筛选出来所有的不包含字母的数据

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值