Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Como posso contar o número de palavras em uma string no Oracle?


Você pode usar algo semelhante a isso. Isso obtém o comprimento da string e, em seguida, subtrai o comprimento da string com os espaços removidos. Em seguida, adicionar o número um a isso deve fornecer o número de palavras:
Select length(yourCol) - length(replace(yourcol, ' ', '')) + 1 NumbofWords
from yourtable

Veja SQL Fiddle com demonstração

Se você usar os seguintes dados:
CREATE TABLE yourtable
    (yourCol varchar2(15))
;

INSERT ALL 
    INTO yourtable (yourCol)
         VALUES ('Hello To Oracle')
    INTO yourtable (yourCol)
         VALUES ('oneword')
    INTO yourtable (yourCol)
         VALUES ('two words')
SELECT * FROM dual
;

E a consulta:
Select yourcol,
  length(yourCol) - length(replace(yourcol, ' ', '')) + 1 NumbofWords
from yourtable

O resultado é:
|         YOURCOL | NUMBOFWORDS |
---------------------------------
| Hello To Oracle |           3 |
|         oneword |           1 |
|       two words |           2 |