首页 > 数据库 > mysql教程 > 如何从 MySQL 文本字段中提取并过滤大于 20 的连续数字?

如何从 MySQL 文本字段中提取并过滤大于 20 的连续数字?

DDD
发布: 2024-11-30 18:37:14
原创
443 人浏览过

How Can I Extract and Filter Consecutive Digits Greater Than 20 from a MySQL Text Field?

在 MySQL 中提取两个连续数字

提供的 SQL 查询成功识别包含两个连续数字的文本字段。但是,要将这些数字提取为单独的字段,请考虑将附加功能合并到查询中。

选项 1:利用 LIB_MYSQLUDF_PREG

此开源库提供增强的常规功能MySQL 的表达能力。它提供了像 PREG_CAPTURE 这样的函数,可以从字符串中提取匹配项。安装并配置此库以访问这些函数。

选项 2:用于正则表达式提取的用户定义函数

创建像 REGEXP_EXTRACT 这样的自定义函数来提取最长的匹配子字符串基于提供的正则表达式。可以对该函数进行微调以处理特定要求,例如包含“^”和“$”分隔符。

可以修改 REGEXP_EXTRACT 函数以满足特定需求:

CREATE FUNCTION REGEXP_EXTRACT(string TEXT, exp TEXT)
RETURNS TEXT
DETERMINISTIC
BEGIN
  ... (function code goes here)
END
登录后复制

附加标准:数字大于20

将数字提取为字段后,您可以在查询中应用其他过滤:

SELECT `id`, `number_extracted`
FROM (
  SELECT `id`, `originaltext`
  FROM `source`
  WHERE `originaltext` REGEXP '[0-9][0-9]'
) AS subquery
WHERE `number_extracted` > 20
登录后复制

此扩展查询将返回提取的数字超过 20 的行通过结合这些技术,您可以优化 MySQL 查询以根据需要提取和操作连续数字。

以上是如何从 MySQL 文本字段中提取并过滤大于 20 的连续数字?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板