mysql:在数据库中查找西里尔文或希腊文

sou*_*ain 1 mysql unicode select

我在MySQL中有一个包含名称的UTF8表,包含所有类型的文本(数字,大写,希腊语,cycrillic等).

---------------
ID   Name
---------------
001  Jane Smith
002  John Doe
003  ????? ????
004  ????? ????
005  "Groove" Holme
006  99er Dude
Run Code Online (Sandbox Code Playgroud)

我怎样才能只选择西里尔字母?(记录003和004)

编辑

感谢下面的答案,看起来它是正确的,但没有奏效.更多研究在文档中提到了这一点:

警告

REGEXP和RLIKE运算符以字节方式工作,因此它们不是多字节安全的,并且可能会产生多字节字符集的意外结果.此外,这些运算符通过字节值比较字符,并且即使给定的排序规则将重音字符视为相等,重音字符也可能无法比较.

编辑编辑,解决方案

我通过在我的数据库中添加一个额外的字段来解决这个问题,该字段存储脚本类型,例如Cyrillic,Thai等.然后在PHP中运行一个批处理过程来检测脚本并将信息存储在数据库中.

要在PHP中检测脚本,请使用Unicode正则表达式函数.看这个页面:

http://www.regular-expressions.info/unicode.html

boo*_*biq 7

我不知道它是否涵盖了所有角色,但你应该能够使用它:

SELECT * FROM table WHERE Name REGEXP '[?-??-??-??-?]'
Run Code Online (Sandbox Code Playgroud)

这将返回包含至少一个西里尔字母或希腊字符的所有条目