MySQL:如何检查单词是否在字符串中出现多次

时间:2019-07-15 17:59:40

标签: mysql regex mysql-workbench

我有一个包含三列的表:nameflagvalue,其中name是字符串类型的主键,flag包含整数,而value包含LONGTEXT。

LONGTEXT包含字符串,该字符串可能包含可以多次出现的单词。

我知道我可以使用LIKE搜索特定的字符串。但是我想查询一个特定单词说my-word出现不止一次的行,并且我想知道每个单元格中出现了几次(2,3等)吗?

这可能吗?

1 个答案:

答案 0 :(得分:1)

查询应如下所示:

select value, (length(value)-length(replace(value,'my-word','')))/7
from mytable
where value like '%my-word%'

我除以7是因为单词my-word包含7个字符。因此,您要除以的数字应该是您要计算单词出现次数的字符数。