Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> SQL Server

Hàm CHARINDEX trong SQL Server

Mô tả

Hàm CHARINDEX trong SQL Server tìm vị trí xuất hiện đầu tiên của một chuỗi con (substring) trong chuỗi cha, bắt đầu từ vị trí chỉ định. Trả về vị trí (bắt đầu từ 1) hoặc 0 nếu không tìm thấy. Tìm kiếm không phân biệt chữ hoa/thường.

Cú pháp

CHARINDEX(chuoi_con, chuoi_cha, [vi_tri_bat_dau])

Tham số:

  • chuoi_con: Chuỗi con cần tìm (tối đa 8000 ký tự).
  • chuoi_cha: Chuỗi cha nơi tìm kiếm (chuỗi, biểu thức, cột).
  • vi_tri_bat_dau: Tùy chọn. Vị trí bắt đầu tìm (mặc định = 1).

Lưu ý:

  • Vị trí đầu tiên = 1.
  • Không tìm thấy → trả về 0.
  • Hỗ trợ từ SQL Server 2005 trở lên.

Ví dụ

SELECT CHARINDEX('q', 'TipsMake.com');
-- Kết quả: 1 (tìm 'q' hoặc 'Q' tại vị trí 1)

SELECT CHARINDEX('n', 'TipsMake.com', 2);
-- Kết quả: 4 (tìm từ vị trí 2, thấy 'n' ở vị trí 4)

SELECT CHARINDEX('n', 'TipsMake.com', 6);
-- Kết quả: 10 (tìm từ vị trí 6, thấy 'n' tiếp theo ở 10)

SELECT CHARINDEX('AN', 'TipsMake.com');
-- Kết quả: 3 (không phân biệt hoa/thường, khớp 'an')

SELECT CHARINDEX('an', 'TipsMake.com', 7);
-- Kết quả: 9 (khớp 'An' ở vị trí 9)

SELECT CHARINDEX('z', 'TipsMake.com');
-- Kết quả: 0 (không tìm thấy)