MYSQL选择所有带有亚洲字符的行

时间:2015-08-23 23:45:40

标签: mysql

在包含客户信息的数据库和表格中,其中名称和地址混合了拉丁文和亚洲字符我想选择所有做(或不要)包含任何亚洲字符的人。数据采用UTF-8编码。这可能与MYSQL本身有关,还是我需要使用PHP / Perl编写自定义脚本?

2 个答案:

答案 0 :(得分:0)

您可以使用正则表达式执行此操作。我们的想法是查找可能在字符串中的所有简单字符并使用^。所以,找到意想不到的(即"亚洲")字符:

where col regexp '.%[^0-9a-zA-Z.,:()& ].%'

开头和结尾的.%不是必需的,但我喜欢它们,因此模式类似于LIKE模式。

答案 1 :(得分:0)

amdixon评论中链接的页面有一个可靠的答案。在这里,我们在SO:

在col:

上选择所有非拉丁字符的行
SELECT  *
FROM    table
WHERE   col != CONVERT(col USING latin1)