sql >> Database teknologi >  >> RDS >> Oracle

Hvordan tæller man antallet af forekomster af en karakter i en Oracle varchar-værdi?

Her går du:

select length('123-345-566') - length(replace('123-345-566','-',null)) 
from dual;

Teknisk set, hvis den streng, du vil kontrollere, kun indeholder det tegn, du vil tælle, vil ovenstående forespørgsel returnere NULL; følgende forespørgsel vil give det rigtige svar i alle tilfælde:

select coalesce(length('123-345-566') - length(replace('123-345-566','-',null)), length('123-345-566'), 0) 
from dual;

Det sidste 0 i coalesce fanger tilfældet, hvor du tæller i en tom streng (dvs. NULL, fordi længde(NULL) =NULL i ORACLE).



  1. Sådan arbejder du med værktøjer på skærmen i Access 2019

  2. Hvilke metoder kan bruges til at administrere forskellige versioner af allerede eksisterende databaser?

  3. Vælg antal rækker i en anden tabel i en Postgres SELECT-sætning

  4. Opret en midlertidig tabel i en SELECT-sætning uden en separat CREATE TABLE