Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Làm cách nào để đếm số lần xuất hiện của một ký tự trong giá trị Oracle varchar?

Của bạn đây:

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

Về mặt kỹ thuật, nếu chuỗi bạn muốn kiểm tra chỉ chứa ký tự bạn muốn đếm, truy vấn trên sẽ trả về NULL; truy vấn sau sẽ đưa ra câu trả lời chính xác trong mọi trường hợp:

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

Số 0 cuối cùng trong coalesce bắt trường hợp bạn đang đếm trong một chuỗi trống (tức là NULL, vì length (NULL) =NULL trong ORACLE).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Giáng sinh đến sớm (Oracle 12.2)

  2. Yêu cầu khôi phục trước khi sao lưu

  3. Tuyên bố ORACLE IIF

  4. Oracle:CẬP NHẬT KHÓA DUPLICATE

  5. PL / SQL có StringTokenizer tương đương với Java không?