在MySQL查询中,我如何与Regex.Replace函数具有相同的行为(例如在.NET / C#中)?
我需要这样做是因为,与许多人一样,我想计算一个字段中的单词数。但是,我对以下答案(在该站点上多次给出)不满意:
SELECT LENGTH(name) - LENGTH(REPLACE(name, ' ', '') +1 FROM table
因为当两个单词之间有一个以上的空格时,它不会给出好的结果。
顺便说一句,我认为Regex.Replace函数可能很有趣,因此欢迎所有好的建议!
有REGEXP_REPLACE作为MySQL用户定义函数提供。
字数统计:如果您可以控制进入数据库的数据,则可以在插入之前删除双空格。另外,如果您必须经常访问字数统计,则可以在代码中计算一次,然后将字数存储在数据库中。