ये रहा:
select length('123-345-566') - length(replace('123-345-566','-',null))
from dual;
तकनीकी रूप से, यदि आप जिस स्ट्रिंग की जांच करना चाहते हैं, उसमें केवल वही वर्ण है जिसे आप गिनना चाहते हैं, तो उपरोक्त क्वेरी NULL लौटाएगी; निम्नलिखित प्रश्न सभी मामलों में सही उत्तर देगा:
select coalesce(length('123-345-566') - length(replace('123-345-566','-',null)), length('123-345-566'), 0)
from dual;
अंतिम 0 coalesce
. में उस मामले को पकड़ता है जहां आप एक खाली स्ट्रिंग में गिन रहे हैं (यानी NULL, क्योंकि लंबाई (NULL) =ORACLE में NULL)।