Hướng dẫn này nhằm mục đích hướng dẫn bạn hiểu cách sử dụng hàm PATINDEX trong SQL Server. Chức năng này cho phép bạn xác định vị trí bắt đầu của một mẫu trong một biểu thức đầu vào nhất định.
Hàm Patindex () của máy chủ SQL
Đoạn mã sau xác định cú pháp của hàm PATINDEX() trong SQL Server:
PATINDEX ( '%họa tiết%' , biểu hiện )
Các đối số được khám phá dưới đây:
- họa tiết – đối số này xác định biểu thức ký tự được tìm kiếm trong biểu thức. Giá trị này hỗ trợ các ký tự đại diện như % và _. Hàm sẽ áp dụng các ký tự đại diện tương tự như toán tử LIKE. Bạn chỉ có thể cung cấp tối đa 8000 ký tự.
- biểu hiện – điều này xác định biểu thức mà mẫu được tìm kiếm. Đây có thể là một giá trị bằng chữ hoặc một cột.
Sau đó, hàm sẽ trả về một giá trị nguyên biểu thị vị trí bắt đầu của mẫu xuất hiện đầu tiên trong biểu thức. Nếu không tìm thấy mẫu trong biểu thức, hàm sẽ trả về 0.
Nếu một trong hai đối số bắt buộc là NULL, hàm sẽ tự động trả về NULL.
Ví dụ sử dụng
Các ví dụ sau đây minh họa cách sử dụng hàm patindex() trong SQL Server.
Ví dụ 1 – Cách sử dụng cơ bản
Dưới đây là minh họa về cách sử dụng cơ bản của hàm patindex().
lựa chọn patindex ( '%chút ít%' , 'https://geekbits.io' ) như tư thế;Điều này sẽ trả về vị trí bắt đầu của mẫu tìm thấy là:
tư thế13
ví dụ 2
Trong ví dụ bên dưới, chúng tôi đang sử dụng hàm patindex() với nhiều ký tự đại diện.
lựa chọn patindex ( '%g__k%' , 'https://geekbits.io' ) như tư thế;Trong trường hợp này, hàm sẽ trả về:
tư thế9
Ví dụ 3 – Sử dụng Hàm Patindex() với Mẫu phức tạp
Chúng ta cũng có thể chuyển một biểu thức chính quy phức tạp dưới dạng mẫu trong hàm patindex như được hiển thị:
lựa chọn patindex ( '%[^0-9A-Za-z]%' , 'Chào mừng đến với Linuxhint!!' ) như cuộc thi đấu;Kết quả:
cuộc thi đấuhai mươi mốt
Ví dụ 4 – Sử dụng Hàm Patindex với Cột
Giả sử chúng ta có một bảng như minh họa dưới đây:
Chúng ta có thể sử dụng hàm patindex() để tìm kiếm mẫu phù hợp trong cột product_name như trong truy vấn bên dưới:
lựa chọn product_name, nhà sản xuất, patindex ( '%2022%' , tên sản phẩm ) nơitừ sản phẩm
Điều này sẽ trả về vị trí của mẫu phù hợp như được hiển thị:
Sự kết luận
Trong hướng dẫn này, chúng tôi đã đề cập đến các nguyên tắc cơ bản khi làm việc với hàm PATINDEX() trong SQL Server.