Hàm CHARINDEX trong SQL Server

Bài viết sẽ tìm hiểu và hướng dẫn bạn cách sử dụng hàm CHARINDEX() trong SQL Server để tìm vị trí của một chuỗi con nằm trong chuỗi cha lớn.

Mô tả

Hàm CHARINDEX trong SQL Server được sử dụng để tìm kiếm một chuỗi con bên trong một chuỗi lớn bắt đầu từ vị trí chỉ định. Hàm trả về kết quả là vị trí chuỗi con được tìm thấy hoặc trả về 0 nếu không tìm thấy. Vị trí chuỗi bắt đầu từ 1, không bắt đầu từ 0 như những trường hợp khác.

Cú pháp

Để chạy hàm CHARINDEX trong SQL Server, ta sử dụng cú pháp như sau:

CHARINDEX( chuoi_con, chuoi_cha, [vi_tri_bat_dau])

Tham số:

  • chuoi_con: chuỗi con mà bạn muốn tìm kiếm. Độ dài của nó được giới hạn ở 8000 ký tự.
  • chuoi_cha: chuỗi để tìm kiếm, có thể là một chuỗi chữ, biểu thức hoặc cột.
  • vi_tri_bat_dau: Không bắt buộc. Vị trí trong chuỗi nơi tìm kiếm sẽ bắt đầu. Vị trí đầu tiên là 1.

Lưu ý:

  • Vị trí đầu tiên trong chuỗi là 1.
  • Nếu không tìm thấy chuỗi con trong chuỗi, hàm CHARINDEX sẽ trả về 0.
  • Hàm CHAR chỉ có thể được sử dụng trong các phiên bản sau của SQL Server: SQL Server 2017, SQL Server 2016, SQL Server 2014, SQL Server 2012, SQL Server 2008 R2, SQL Server 2008, SQL Server 2005.

Ví dụ

Hãy xem và khám phá một số ví dụ về hàm CHARINDEX trong SQL Server.

SELECT CHARINDEX('q', 'Quantrimang.com');
Result: 1 (tìm kiếm không phân biết chữ hoa chữ thường)

SELECT CHARINDEX('n', 'Quantrimang.com', 2);
Result: 4

SELECT CHARINDEX('n', 'Quantrimang.com', 6);
Result: 10

SELECT CHARINDEX('AN', 'Quantrimang.com');
Result: 3 (tìm kiếm không phân biết chữ hoa chữ thường)

SELECT CHARINDEX('an', 'Quantrimang.com', 7);
Result: 9 (search is not case-sensitive so it will match on 'On')

SELECT CHARINDEX('z', 'Quantrimang.com');
Result: 0

Bài trước: Hàm CHAR trong SQL Server

Bài tiếp: Hàm CONCAT trong SQL Server

Thứ Năm, 22/08/2019 11:02
4,54 👨 1.938