sql >> Database >  >> RDS >> Oracle

Hoe het aantal keren dat een teken voorkomt in een Oracle varchar-waarde te tellen?

Hier ga je:

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

Technisch gezien, als de string die u wilt controleren alleen het teken bevat dat u wilt tellen, zal de bovenstaande query NULL retourneren; de volgende vraag geeft in alle gevallen het juiste antwoord:

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

De laatste 0 in coalesce vangt het geval op waarin je telt in een lege tekenreeks (d.w.z. NULL, omdat lengte (NULL) =NULL in ORACLE).



  1. MySQL omzeilen Kan tabelfout niet heropenen

  2. Hoe jaar en maand uit de datum halen in PostgreSQL zonder de functie to_char() te gebruiken?

  3. Wat zijn de voordelen van werken met een toegangsondersteuningsbedrijf?

  4. SMALLDATETIMEFROMPARTS() Voorbeelden in SQL Server (T-SQL)