一列返回这样的值:
Something";s:5:"value";s:3:"900";s:11:"print_
我想提取所有长度至少为 3 位的数字,在上述情况下为 900。我如何在 MySQL 中做到这一点?也许使用正则表达式?我不能使用任何索引,字符串的长度和字符串中的数字可以不同。
谢谢!
如果您使用的是 PHP,请尝试 unserialize() 它!然后 var_dump 它来查看字符串和数组
您不能使用 MySQL 提取它们,为此使用任何其他语言。您可以做的是包含一个 Where 子句,这将使您的脚本的工作更轻松。
假设您的列在“示例”表中被称为“序列化”
SELECT serialized FROM example WHERE serialized REGEXP '[0-9]{3,}'
请注意,REGEXP 只是输出 1 或 0
完成查询后,使用您的语言的正则表达式函数提取数字,如下所示:
([0-9]{3,})*