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

Số lần một ký tự cụ thể xuất hiện trong một chuỗi

Không có chức năng trực tiếp nào cho việc này, nhưng bạn có thể thực hiện bằng chức năng thay thế:

declare @myvar varchar(20)
set @myvar = 'Hello World'

select len(@myvar) - len(replace(@myvar,'o',''))

Về cơ bản, điều này cho bạn biết có bao nhiêu ký tự đã bị xóa và do đó có bao nhiêu trường hợp của nó.

Thêm:

Phần trên có thể được mở rộng để đếm số lần xuất hiện của một chuỗi nhiều ký tự bằng cách chia cho độ dài của chuỗi đang được tìm kiếm. Ví dụ:

declare @myvar varchar(max), @tocount varchar(20)
set @myvar = 'Hello World, Hello World'
set @tocount = 'lo'

select (len(@myvar) - len(replace(@myvar,@tocount,''))) / LEN(@tocount)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Xác định kích thước hàng cho bảng

  2. Kiểu dữ liệu thích hợp nhất để lưu trữ địa chỉ IP trong máy chủ SQL là gì?

  3. Sắp xếp tự nhiên (chữ-số của con người) trong Microsoft SQL 2005

  4. Tại sao tham gia bên trái t-sql của tôi không hoạt động?

  5. Truy vấn đệ quy trong SQL Server