sql >> Database >  >> RDS >> Oracle

Hoe kan ik het aantal woorden in een string in Oracle tellen?

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 |


  1. Wat is het doel van het gebruik van OPTION(MAXDOP 1) in SQL Server?

  2. Een overzicht van de Percona XtraDB Cluster Kubernetes-operator

  3. Standaard datum-/tijdnotatietekenreeksen ondersteund door FORMAT() in SQL Server

  4. Oracle SQL - max() met NULL-waarden