Hàm PATINDEX trong SQL Server

Trong bài này mình sẽ hướng dẫn cách sử dụng hàm PATINDEX trong SQL Server thông qua cú pháp và ví dụ thực tế.

1. Mô tả

Hàm PATINDEX trả về vị trí của một mẫu trong một chuỗi.

2. Cú pháp

Cú pháp của hàm PATINDEX trong SQL Server (Transact-SQL) là:

PATINDEX( '%pattern%', string )

Trong đó:

  • string: là chuỗi để tìm kiếm.
  • pattern: Các mẫu mà bạn muốn tìm. Mẫu phải được bao quanh bởi% ký tự. Các ký tự đại diện khác có thể được sử dụng trong mẫu, chẳng hạn như:
Ký tự đại diện Giải thích
% Khớp bất kỳ chuỗi nào có độ dài bất kỳ (bao gồm cả độ dài bằng không)
_ Khớp với một ký tự.
[] Khớp với bất kỳ ký tự nào trong ngoặc [] (ví dụ: [abc] sẽ khớp với các ký tự a, b hoặc c)
[^] Khớp với bất kỳ ký tự nào không có trong ngoặc [^] (ví dụ: [^ abc] sẽ khớp với bất kỳ ký tự nào không phải là ký tự a, b hoặc c)

3. Version

Hàm PATINDEX có thể được sử dụng trong các phiên bản sau của SQL Server (Transact-SQL):

  • SQL Server 2017, SQL Server 2016, SQL Server 2014, SQL Server 2012, SQL Server 2008 R2, SQL Server 2008, SQL Server 2005

4. Ví dụ

SELECT PATINDEX('%ree%', 'Freetuts.net');
Ket qua: 2

SELECT PATINDEX('%e%net', 'Freetuts.net');
Ket qua: 3

SELECT PATINDEX('%[abcdef]%', 'Freetuts.net');
Ket qua: 1        

SELECT PATINDEX('%a%', 'Freetuts.net');
Ket qua: 0

SELECT PATINDEX('%F_e%t', 'Freetuts.net');
Ket qua: 1

 

Nguồn: freetuts.net