Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Wie kann ich die Anzahl der Wörter in einer Zeichenfolge in Oracle zählen?

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 |