Посчитать определённое количество символов

Понадобилось посчитать количество слов в поле. Т.е. задача свелась к подсчёту количества пробелов в этом поле. Мускульный регексп уныл и не справляется. Выход — посчитать длину исходной строки и вычесть длину строки с убранными искомыми символами.

SELECT LENGTH(field) - LENGTH(REPLACE(field, ' ', '')) cnt FROM table_name;

Однако тут подводная грабля есть. Если поле с текстом в мульти-байтной кодировке, то следует использовать CHAR_LENGTH() вместо LENGTH(). При этом REPLACE() — мульти-байтно безопасная и регистро зависимая.