Hàm CHARINDEX trong SQL Server

Charindex trong SQL Server là gì? Cách dùng hàm Charindex trong SQL Server như thế nào?

SQL Server là một lĩnh vực thú vị trong thế giới lập trình và nhất định bạn cần biết nếu muốn trở thành chuyên gia trong ngành này. Ở bài viết này, hãy cùng nhau tìm hiểu về CHARINDEX() trong SQL Server nhé!

SQL Server CHARINDEX cực kỳ hữu dụng khi làm việc và xử lý dữ liệu chuỗi. Nó thường được dùng nhất cho việc xác định vị trí bắt đầu của chuỗi phụ hay biểu thức trong một chuỗi. Hiểu đơn giản, hàm CHARINDEX thường được dùng để xác định vị trí khởi đầu một chuỗi phụ hay biểu thức trong một chuỗi. Bạn sẽ dùng nó để tìm ký tự cụ thể bên trong một chuỗi từ vị trí nhất định.

Rõ ràng, một ký tự có thể xuất hiện ở nhiều vị trí trong một chuỗi. Nó cho bạn kết quả là vị trí ký tự đầu tiên trong chuỗi và bỏ qua phần còn lại của các vị trí ký tự kết hợp.

Hàm Charindex hiện được dùng ở những phiên bản SQL Server sau: SQL Server 2019, SQL Server 2018, SQL Server 2017, SQL Server 2016, SQL Server 2014, SQL Server 2012, SQL Server 2008 R2, SQL Server 2008, SQL Server 2005, Azure SQL Database, Azure SQL Data Warehouse, và Parallel Data Warehouse.

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

Hàm CHARINDEX tìm kiếm một vị trí cụ thể

Ví dụ này dùng tham số starting_position để bắt đầu tìm kiếm chuỗi phụ ‘for’ ở ký tự thứ 10 trong chuỗi được cung cấp:

SELECT CHARINDEX ('for', 'Love for all, Hate for none', 10) As Position;

Triển khai lệnh này sẽ cho bạn kết quả như bên dưới:

Hương dẫn dùng Charindex trong SQL Server

Trên đây là những kiến thức cơ bản mà bạn cần biết về hàm CHARINDEX trong SQL Server. Hi vọng bài viết hữu ích với các bạn.

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

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

Thứ Sáu, 22/09/2023 16:52
4,39 👨 31.885
0 Bình luận
Sắp xếp theo
    ❖ SQL Server