1. Cú pháp sử dụng hàm PATINDEX()

Hàm PATINDEX() trả về vị trí của một chuỗi con theo một mẫu cần tìm kiếm trong một chuỗi gốc. Nếu không tìm thấy, hàm PATINDEX() sẽ trả về giá trị 0. Cú pháp hàm PATINDEX() như sau:

PATINDEX(%pattern%, string)

Tham số:

  • %pattern% là ký tự đại diện. Các ký tự đại diện này có thể là:
    • % – Khớp với bất kỳ chuỗi nào có độ dài bất kỳ
    • _ – Khớp một ký tự
    • [] – Khớp bất kỳ ký tự nào trong dấu ngoặc
    • [^] – Khớp bất kỳ ký tự nào không có trong dấu ngoặc
  • string là chuỗi gốc

Chú ý: Tìm kiếm không phân biệt chữ hoa chữ thường và vị trí đầu tiên trong chuỗi là 1.

Hoạt động trong: SQL Server (starting with 2008), Azure SQL Database, Azure SQL Data Warehouse, Parallel Data Warehouse

2. Ví dụ hàm PATINDEX()

Ví dụ dưới đây, trả lại vị trí của chuỗi ‘com’ trong một chuỗi gốc ‘Laptrinhtudau.com’ như sau:

SELECT PATINDEX('%com%', 'Laptrinhtudau.com');

Kết quả:

15

Ví dụ tiếp theo, sẽ tìm ra vị trí của chuỗi ‘ud’ trong chuỗi gốc ‘Laptrinhtudau.com’ bằng cách sử dụng hàm PATINDEX() với ký tự đại diện %[ud]% như sau:

SELECT PATINDEX('%[ud]%', 'Laptrinhtudau.com');

Kết quả:

10