sql >> Databáze >  >> RDS >> Oracle

Jak mohu spočítat počet slov v řetězci v Oracle?

Můžete použít něco podobného. Tím se získá délka řetězce a poté se odečte délka řetězce s odstraněnými mezerami. Přidáním čísla jedna k tomu byste měli získat počet slov:

Select length(yourCol) - length(replace(yourcol, ' ', '')) + 1 NumbofWords
from yourtable

Viz SQL Fiddle with Demo

Pokud používáte následující údaje:

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
;

A dotaz:

Select yourcol,
  length(yourCol) - length(replace(yourcol, ' ', '')) + 1 NumbofWords
from yourtable

Výsledek je:

|         YOURCOL | NUMBOFWORDS |
---------------------------------
| Hello To Oracle |           3 |
|         oneword |           1 |
|       two words |           2 |


  1. Jaký je rozdíl mezi USER() a SYS_CONTEXT('USERENV','CURRENT_USER')?

  2. Jak nainstalovat localdb samostatně?

  3. SQLite - Export dat do souboru CSV

  4. Jsou mysql_real_escape_string() a mysql_escape_string() dostatečné pro zabezpečení aplikace?