【发布时间】:2010-11-25 17:39:28
【问题描述】:
我需要在 mysql 表中查找 é ou è 的出现次数。
第一次尝试: 选择“LéL”,如“%é%”; 这不起作用:它返回包含 e 或 é 或 è 的单词。
我也尝试了没有结果的正则表达式(使用字母 L):
SELECT "Lbc" REGEXP ".*L.*"; -- works : it finds L in the string LBC
SELECT "Lbc" REGEXP ".*\u4C.*"; -- doesn't work : can't find the hexadecimal equivalent of L in the string LBC.
我想测试 \u 加十六进制搜索...我还尝试了文档中提到的双重转义而不做任何更改。
正则表达式搜索在 mysql 中似乎非常有限。在http://dev.mysql.com/doc/refman/4.1/en/regexp.html 上找不到任何与\u 相关的文档。
我使用的是 mysql 4.1。
如果mysql 5中有4中没有的解决方案,我很想知道。
【问题讨论】:
-
为什么不能只发送实际字符而不是十六进制代码?
-
好吧,我会被诅咒的...这是我尝试的第一件事...但是现在我在阅读您的评论后再次尝试...它有效。
-
把评论变成答案,让我们完成它。
-
哦等等。我知道为什么:我第一次尝试 LIKE "%é%" 并且 (!!!) 不起作用。它返回正常的 e 以及 é 或 è。但正则表达式版本的工作原因不明。
-
这个问题还是值得问的……我学到了一些关于 SQL 的知识。我了解到我不喜欢“like”关键字。
标签: mysql search diacritics