Sie können etwas Ähnliches verwenden. Dies ruft die Länge der Zeichenfolge ab und subtrahiert dann die Länge der Zeichenfolge mit entfernten Leerzeichen. Wenn Sie dann die Zahl eins dazu addieren, sollten Sie die Anzahl der Wörter erhalten:
Select length(yourCol) - length(replace(yourcol, ' ', '')) + 1 NumbofWords
from yourtable
Siehe SQL Fiddle mit Demo
Wenn Sie die folgenden Daten verwenden:
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
;
Und die Abfrage:
Select yourcol,
length(yourCol) - length(replace(yourcol, ' ', '')) + 1 NumbofWords
from yourtable
Das Ergebnis ist:
| YOURCOL | NUMBOFWORDS |
---------------------------------
| Hello To Oracle | 3 |
| oneword | 1 |
| two words | 2 |