MySQL:使用正则表达式从字符串中获取值?

时间:2013-03-08 12:46:14

标签: mysql regex

一列返回这样的值:

Something";s:5:"value";s:3:"900";s:11:"print_

我想提取至少3位数的所有数字,在上面的情况下是900.我怎样才能在MySQL中这样做?也许正在使用正则表达式?我不能使用任何索引,字符串的长度和字符串中的数字可以不同。

谢谢!

2 个答案:

答案 0 :(得分:0)

如果您使用PHP,请尝试unserialize()它!然后用var_dump来查看字符串和数组

答案 1 :(得分:0)

您无法使用MySQL提取它们,请使用任何其他语言。 你可以做的是包括Where子句,这将使你的脚本更容易工作。

假设您的列在“示例”表中被称为“序列化”

SELECT serialized FROM example WHERE serialized REGEXP '[0-9]{3,}'

请注意,REGEXP只输出1或0

完成查询后,使用您所用语言的正则表达式函数确实提取数字如下:

([0-9] {3,})*