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

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

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

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

Средне арифметическое двух default null

Задача.

Посчитать средне арифметическое значение двух полей в кортеже, при том, что любое из них может быть null. Проблема в том, что если одно из них null, то делить на 2 уже не нужно. Средне арифметическое должно быть равно второму значению. И наоборот. При этом не хочется городить if-else`ов, и нельзя никак использовать avg(), потому, что она агрегатная.

Решение. Читать далее Средне арифметическое двух default null