2012-04-25 82 views
3

mySql REGEXP运算符不区分大小写。 是否为区分大小写?MySql REGEXP运算符

+0

这就是文档说的,但如果你进一步看一下,例如http://dev.mysql.com/doc/refman/5.1/en/regexp.html#operator_regexp例子'作为一个更复杂的例子,正则表达式B [an] * s匹配任何字符串Bananas,Baaaaas,Bs和任何其他以B开头的字符串,以s结尾,并包含任意数量的a或n个字符。 – ant 2012-04-25 12:44:42

+0

我认为这是取决于你的存储引擎,InnoDB,MyISAM等。你有没有尝试过不同的类型? – Paystey 2012-04-25 12:45:22

回答

5

使用BINARY关键字,这会强制REGEXP将该字符串与二进制字符串进行匹配,这会以区分大小写的方式进行。

SELECT 'a' REGEXP 'A', 'a' REGEXP BINARY 'A'; 

虽然这不是明确stated in the docs(你可以用一个普通字符串做),在我的经验,它按预期工作。

+0

谢谢迈克尔 - 它的作品! – 2012-04-25 12:54:00

+0

也感谢您的快速回复。 – 2012-04-25 12:57:38