一尘不染

如何在MySQL /正则表达式替换器中计算单词数?

mysql

在MySQL查询中,我如何与Regex.Replace函数具有相同的行为(例如在.NET / C#中)?

我需要这样做是因为,与许多人一样,我想计算一个字段中的单词数。但是,我对以下答案(在该站点上多次给出)不满意:

SELECT LENGTH(name) - LENGTH(REPLACE(name, ' ', '') +1 FROM table

因为当两个单词之间有一个以上的空格时,它不会给出好的结果。

顺便说一句,我认为Regex.Replace函数可能很有趣,因此欢迎所有好的建议!


阅读 306

收藏
2020-05-17

共1个答案

一尘不染

有REGEXP_REPLACE作为MySQL用户定义函数提供

字数统计:如果您可以控制进入数据库的数据,则可以在插入之前删除双空格。另外,如果您必须经常访问字数统计,则可以在代码中计算一次,然后将字数存储在数据库中。

2020-05-17