Предполагая, что слова разделены одним пробелом, вы можете использовать метод подсчета и замены:
select length(str) - length(replace(str, ' ', '')) + 1
Это подсчитывает количество пробелов и добавляет 1.
РЕДАКТИРОВАТЬ:
Чтобы обработать несколько пробелов подряд, вы можете настроить это следующим образом:
select length(regexp_replace(str, ' +', ' ')) - length(replace(str, ' ', '')) + 1