【问题标题】:Find non- english characters in mysql在mysql中查找非英文字符
【发布时间】:2013-02-12 12:46:09
【问题描述】:

我有一个 MySQL 表,它将电子邮件内容存储为 blob 数据类型。一些行中有非英文字符。有没有办法只找到包含非英文字符的行?

【问题讨论】:

    标签: mysql non-english


    【解决方案1】:
    ...
    where some_column regexp '.*[^\\w.@].*'
    

    【讨论】:

    • 这个解决方案在我的情况下不起作用。因为电子邮件内容还包含 HTML 标记,即存储 html 类型的电子邮件内容。我们需要在搜索中忽略这些 HTML 标签
    • 修改您的问题以更具体地说明您的目标。
    • 我在一张表中有“详细信息”列。该列以 HTML 格式存储电子邮件内容,列数据类型为 blob。我要求搜索和查找任何包含非英语字符(即外语)的电子邮件内容。有 51000 条记录的表。在 51000 条记录中,我只需要过滤非英文字符的电子邮件。它可能是 100 或更大。一旦我过滤了这些记录,我将使用谷歌翻译手动识别语言
    【解决方案2】:
    descr LIKE '%[' + CHAR(127)+ '-' +CHAR(255)+']%'  COLLATE Latin1_General_100_BIN2
    

    【讨论】:

      【解决方案3】:

      select * from TABLE where COLUMN like '%\0%';

      这在 MySQL 5.6 上对我有用,我很乐意使用,甚至不用考虑它是如何工作的。如果有人补充说明这是如何工作的,将不胜感激。

      【讨论】:

      • 您应该编辑您的答案以添加解释和格式。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-09-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-08
      • 1970-01-01
      相关资源
      最近更新 更多