其实这种方式主要是计算
举个例子,比如一个Title字段,里面有很多标题,里面出现了很多下划线:今日新闻_城市新闻_城市娱乐_旅游推荐_小编精选,现在要选出有3个以上下划线的记录出来
SELECT
ID,
Title,
Keywords,
Description
FROM
`article_news`
WHERE
(LENGTH( Title ) - LENGTH( REPLACE ( Title, '_', '' ) )) > 3;
(LENGTH(字段名)-LENGTH(REPLACE(字段名, '指定字符串', ' ')))
意思是,当标题里面的下划线都被REPLACE函数换成空的话,就变成了 “今日新闻城市新闻城市娱乐旅游推荐小编精选”,那么就比原标题的长度减少了 (下划线 * 数量) 的长度,这样就算出来下划线的数量了
如果是计算中文,记得LENGTH函数算中文的长度,可以用char_length 来替代 length