gpt4 book ai didi

MYSQL 查找包含超过 7 个数字的条目

转载 作者:行者123 更新时间:2023-11-29 02:13:43 25 4
gpt4 key购买 nike

我需要在我的一个 mysql 表中找到包含超过 7 个数字但数字由字母或其他任何内容分隔的条目。

我所拥有的是我用来查找像 dsc123456789 这样的条目的一小段代码:

select * from crawl where title  regexp '[0-9]{7}'

如何找到像 dsc-123-456_78B9 这样的条目?我尝试了不同的方法,但到目前为止没有成功。

谢谢

最佳答案

您可以使用以下解决方案:

SELECT * 
FROM crawl
WHERE title REGEXP '(([^[:digit:]])?[[:digit:]]){8,}';

为什么原始查询的答案不起作用?

-- this query doesn't work!
SELECT *
FROM crawl
WHERE title REGEXP '\d([^\d]?\d){7,}'

MySQL 不能使用像\d(数字)这样的字符组。所以每次查询都失败。在 PHP 和其他语言上,正则表达式如下所示:

\d([^\d]?\d){7,}

但是在 MySQL 上这是无效的。所以你必须使用 character classes MySQL 解决这个问题:

(([^[:digit:]])?[[:digit:]]){8,}

Hint: Make sure you use {8} or {8,} instead of {7} since you want to find all entries with more than 7 numbers / digits.

关于MYSQL 查找包含超过 7 个数字的条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44627066/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com