从 MySQL 文本字段中提取连续数字
在 MySQL 中操作文本字段中的数字数据可能具有挑战性。要从此类字段中提取连续数字,建议使用 MySQL 函数或外部库。
使用 LIB_MYSQLUDF_PREG 库:
LIB_MYSQLUDF_PREG 库提供强大的正则表达式函数,包括用于子字符串提取的 PREG_CAPTURE。通过将此库安装到 MySQL 中,您可以访问以下函数:
自定义函数更简单提取:
或者,可以创建以下自定义 MySQL 函数来进行基本提取:
CREATE FUNCTION REGEXP_EXTRACT(string TEXT, exp TEXT) RETURNS TEXT DETERMINISTIC BEGIN -- Extract longest matching substring adjusted for ^ or $ in regex
用法:
使用这个函数,如下调用:
SELECT REGEXP_EXTRACT(originaltext, '[0-9][0-9]') AS extracted_digits FROM source WHERE originaltext regexp '[0-9][0-9]'
这将提取第一个匹配的每个匹配的原始文本中的一对数字。可以根据需要将其他条件添加到查询中,例如将提取的数字与值进行比较。
以上是如何从 MySQL 文本字段中提取连续的数字?的详细内容。更多信息请关注PHP中文网其他相关文章!