如何计算该字符出现的次数-
在 varchar2 字符串中?
Example:
select XXX('123-345-566', '-') from dual;
----------------------------------------
2
干得好:
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,因为 ORACLE 中的 length(NULL) = NULL)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)