一列返回这样的值:
Something";s:5:"value";s:3:"900";s:11:"print_
我想提取至少3位数的所有数字,在上面的情况下是900.我怎样才能在MySQL中这样做?也许正在使用正则表达式?我不能使用任何索引,字符串的长度和字符串中的数字可以不同。
谢谢!
答案 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,})*