Je kunt iets soortgelijks gebruiken. Dit krijgt de lengte van de tekenreeks en trekt vervolgens de lengte van de tekenreeks af met de spaties verwijderd. Door daar vervolgens het cijfer één aan toe te voegen, zou je het aantal woorden moeten krijgen:
Select length(yourCol) - length(replace(yourcol, ' ', '')) + 1 NumbofWords
from yourtable
Zie SQL Fiddle met demo
Als u de volgende gegevens gebruikt:
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
;
En de vraag:
Select yourcol,
length(yourCol) - length(replace(yourcol, ' ', '')) + 1 NumbofWords
from yourtable
Het resultaat is:
| YOURCOL | NUMBOFWORDS |
---------------------------------
| Hello To Oracle | 3 |
| oneword | 1 |
| two words | 2 |