如何计算Oracle中某列中特定字符出现的次数?例如,如果我有一个表格FOO,其中包含a,ABC,def和2,3,4,5等数据,我想计算逗号在数据中出现的次数.
@H_502_10@
对此通常的一个技巧是使用长度和替换的组合:
CREATE TABLE foo ( str varchar2(30) ); INSERT INTO foo VALUES( 'a,def' ); INSERT INTO foo VALUES( '2,5' ); commit;
我想要的输出是
str cnt a,def 2 2,5 3
select (length(your_col) - length(replace(your_col,','))) from your_table;