帮助MySQL正则表达式 - 抓住年度

时间:2011-08-30 15:43:23

标签: mysql regex

我从来没有很好地使用正则表达式 - 而且我正在寻找帮助构建MYSQL的简单正则表达式的人,该查询以下列模式查询数据库:

Could be anything here (YYYY)

基本上 - 我希望能够查询数据库以返回与该模式匹配的所有行。

示例查询:

SELECT title from myTable where title REGEX '$(YYYY)$'

对此有何建议或帮助?

更新:YYYY条目是一年,如2011年或2010年。对不起,请注意混淆。

4 个答案:

答案 0 :(得分:5)

这应该可以解决问题:

SELECT title from myTable where title REGEXP '[(][0-9]{4}[)]'

(顺便说一下,REGEXP带有P)

答案 1 :(得分:1)

不确定您到底要找的是什么,但试试这个:

SELECT title from myTable where title REGEXP '.*\([0-9]{4}\).*'

编辑:太慢了:)使用Vache回答。

答案 2 :(得分:1)

SELECT title from myTable where title REGEXP '[(][0-9]{4}[)]'

请参阅:http://dev.mysql.com/doc/refman/5.1/en/regexp.html
并且:http://www.go4expert.com/forums/showthread.php?t=2337

了解更多信息。

答案 3 :(得分:-1)

如何简单(但有点慢)

SELECT * FROM table WHERE field LIKE '%yyyy%';

%符号是通配符,因此此samplequery将返回“field”包含“yyyy”的任何行。

例如:

yyyyfoobar or fooyyyybar or fooyyyy

将全部通过此查询找到。

忽略这个答案,因为它是在澄清编辑之前发布的。