首页 > 解决方案 > MYSQL - 如何从字符串中提取数值?

问题描述

我在数据库中获得了可能具有如下格式的字符串值:

hdpos1234x93m4s9034z1
ryhp5x908m4s1s

不幸的是,我没有 MySQL 版本 8 来使用该REGEX_SUBSTR功能。我正在尝试获取“x”之前和之后的数字值。

所以我想要这些值。任何见解都会很棒。

1234 93
5 908

标签: mysql

解决方案


很明显,您可以使用一些托管语言(例如 Python 或 PHP)阅读这些专栏,然后使用其正则表达式支持来做您想做的事情。要限制您需要读取的行数,您可以使用该RLIKE函数(我知道它在 MySQL 5.6 中可用):

SELECT x FROM mytable WHERE x RLIKE '[0-9]x[0-9]'

这应该选择包含由xin column分隔的两个数字的行x。当然,您可以使用更适合您需要的不同模式。


推荐阅读