当前位置: 首页 > news >正文

MySQL低版本中:字符串中的数字、英文字符、汉字提取

我们如何提醒一个字段中的汉字和数字呢

高版本指mysql8.0以上

使用sql语句


SELECT REGEXP_REPLACE(column_name, '[^\\p{Han}]', '') AS chinese_characters
FROM table_name;其中  column_name指名称列,table_name是表名 

2.低版本使用

需要新建函数

DELIMITER $$DROP FUNCTION IF EXISTS `num_char_extract`$$CREATE DEFINER=`root`@`%` FUNCTION `num_char_extract`(Varstring VARCHAR(100)CHARSET utf8, flag INT) RETURNS varchar(50) CHARSET utf8
BEGINDECLARE len INT DEFAULT 0;DECLARE Tmp VARCHAR(100) DEFAULT '';SET len=CHAR_LENGTH(Varstring);IF flag = 0 THENWHILE len > 0 DOIF MID(Varstring,len,1)REGEXP'[0-9]' THENSET Tmp=CONCAT(Tmp,MID(Varstring,len,1));END IF;SET len = len - 1;END WHILE;ELSEIF flag=1THENWHILE len > 0 DOIF (MID(Varstring,len,1)REGEXP '[a-zA-Z]') THENSET Tmp=CONCAT(Tmp,MID(Varstring,len,1));END IF;SET len = len - 1;END WHILE;ELSEIF flag=2THENWHILE len > 0 DOIF ( (MID(Varstring,len,1)REGEXP'[0-9]')OR (MID(Varstring,len,1)REGEXP '[a-zA-Z]') ) THENSET Tmp=CONCAT(Tmp,MID(Varstring,len,1));END IF;SET len = len - 1;END WHILE;ELSEIF flag=3THENWHILE len > 0 DOIF not (MID(Varstring,len,1)REGEXP '^[u4e00-u9fa5]')and not (MID(Varstring,len,1)REGEXP '^[/]')and not (MID(Varstring,len,1)REGEXP '^[ ]')THENSET Tmp=CONCAT(Tmp,MID(Varstring,len,1));END IF;SET len = len - 1;END WHILE;ELSESET Tmp = 'Error: The second paramter should be in (0,1,2,3)';RETURN Tmp;END IF;RETURN REVERSE(Tmp);END$$
DELIMITER ;

优化了除去斜杠和空格,如果需要展示的话,在第三个判断中去除’1'和【】判断就可以实现

测试数据建立

在这里插入图片描述

测试使用

传值为1时候过滤字符

SELECT markinfo, num_char_extract(markinfo,1) as chinesechar from dev_move 

在这里插入图片描述

值为2时候过滤数字加字符

SELECT markinfo, num_char_extract(markinfo,2) as chinesechar from dev_move 

在这里插入图片描述

值为3过滤汉字

SELECT markinfo, num_char_extract(markinfo,3) as chinesechar from dev_move 

在这里插入图片描述


  1. / ↩︎

http://www.lryc.cn/news/261308.html

相关文章:

  • 多窗口文件管理工具Q-Dir安装以及使用教程
  • Spring入门
  • Linux——进程创建与进程终止
  • 轻量封装WebGPU渲染系统示例<50>- Json数据描述材质等场景信息
  • AtCoder ABC周赛2023 12/10 (Sun) D题题解
  • 基于C/C++的rapidxml加载xml大文件 - 上部分翻译
  • 小程序使用Nodejs作为服务端,Nodejs与与MYSQL数据库相连
  • 深度解读 Cascades 查询优化器
  • Bash 操作审计和安全加固 —— 筑梦之路
  • C/C++常见面试知识总结(三)
  • AR眼镜_AR智能眼镜整机硬件方案定制
  • 2. 皇后的控制力
  • 南京邮电大学数据库实验二
  • 数据库 02-03 补充 SQL的子查询(where,from),子查询作为集合来比较some,exists,all(某一个,存在,所有)
  • 提升英语学习效率,尽在Eudic欧路词典 for Mac
  • 计算机网络英文总结
  • Spring上下文之注解模块ConfigurationMethod
  • 【深度学习】强化学习(三)强化学习的目标函数
  • Python高级算法——人工神经网络(Artificial Neural Network)
  • 深入理解JVM设计的精髓与独特之处
  • fastjson序列化与反序列化的忽略
  • 【TB作品】基于单片机的实验室管理系统,STM32,GM65二维码扫描模块
  • 超过 1450 个 pfSense 服务器因错误链而遭受 RCE 攻击
  • react面试总结2
  • hive 常见存储格式和应用场景
  • PyPDF2库对PDF实现读取的应用
  • C++ stack用法详解
  • QT案例 使用WMI获取win_32类的属性值,包括Win32提供程序类中的属性
  • TCP/UDP 的特点、区别及优缺点
  • 使用 Python 使用贝叶斯神经网络从理论到实践