【发布时间】:2015-06-09 19:57:44
【问题描述】:
我已将文本文件的内容作为 blob 存储在 MySQL 表中。我想计算该文本中特定单词的出现次数。
有什么办法可以做到吗?
【问题讨论】:
-
您要搜索的“单词”是什么。 blob的字段名是什么,请给出表结构
-
单词是'lumia',blob的字段名是'file',表名是'documents'。
我已将文本文件的内容作为 blob 存储在 MySQL 表中。我想计算该文本中特定单词的出现次数。
有什么办法可以做到吗?
【问题讨论】:
试试这个
SET @searchthis="lumia";
SELECT CAST((LENGTH(`documents`.`file`) -
LENGTH(REPLACE(`documents`.`file`, @searchthis, ""))) /
LENGTH(@searchthis) AS UNSIGNED
) AS searchthis_count
FROM documents ;
【讨论】:
@searchthis 和 documents.file 在不同的字符集中,这可能会产生错误的结果:对于这些操作,应该使用 CHAR_LENGTH() 而不是 LENGTH()。