2

我在一张表中有列详细信息。该列以HTML格式存储电子邮件内容。列数据类型是 blob 。我要求搜索和查找任何包含非英文字符(即外语)的电子邮件内容。

该表有 51000 条记录。在 51000 条记录中,我只需要过滤非英文字符的电子邮件。它可能是 100 或更大。一旦我过滤了这些记录,我将使用谷歌翻译手动识别语言

4

1 回答 1

0

MySQL中,它会是这样的:

SELECT foo 
FROM bar
WHERE somecolumn REGEXP '[^\x00-\x80]+'

匹配不在 ASCII 范围 0-128 中的字符。

也可能:

WHERE NOT HEX(COLUMN) REGEXP '^([0-7][0-9A-F])*$';

REGEXP '[^[.NUL.]-[.DEL.]]'

REGEXP '[^ -~]'.

您需要根据需要调整模式。

这里还展示了一种新颖的方法: 如何在 MySQL 中找到非 ASCII 字符?

WHERE columnToCheck <> CONVERT(columnToCheck USING ASCII)

于 2013-02-20T18:41:30.637 回答