Oracle SQL 统计 VARCHAR 中字符的出现次数

Eri*_*son 2 oracle varchar

是否可以计算oracle中VARCHAR中字符出现的次数?可以让我确定“11001110”有 5 个的东西?

Jus*_*ave 7

什么版本的Oracle?

如果您使用的是 Oracle 11.1 或更高版本,则可以使用 REGEXP_COUNT

  1* select regexp_count( '11001110', '1' ) from dual
SQL> /

REGEXP_COUNT('11001110','1')
----------------------------
                           5
Run Code Online (Sandbox Code Playgroud)

在早期版本中,有各种不太优雅的选项,例如

SQL> select length( '11001110' ) - length( replace( '11001110', '1' ) ) cnt
  2    from dual;

       CNT
----------
         5
Run Code Online (Sandbox Code Playgroud)