Khi truy vấn dữ liệu trong SQL, có lúc bạn cần phải dò tìm vị trí của một ký tự trong một chuỗi. Để làm được điều đó, bạn sẽ cần dùng đến hàm CHARINDEX trong SQL. Vậy cú pháp, cách sử dụng và ứng dụng của hàm này trong thực tế như thế nào, cùng Gitiho tìm hiểu trong bài viết hôm nay nhé!
Hàm CHARINDEX cho phép chúng ta chỉ ra vị trí bắt đầu của một ký tự hoặc chuỗi con trong một chuỗi. Kết quả trả về sẽ là vị trí đầu tiên mà chuỗi con xuất hiện tính từ ký tự đầu tiên của chuỗi lớn.
Cú pháp hàm CHARINDEX:
CHARINDEX(chuoi_con, chuoi-lon, [vi_tri_bat_dau])
Trong đó:
Lưu ý: Hàm CHARINDEX hiện chỉ đang sử dụng được ở các phiên bản SQL Server sau: SQL Server 2005, SQL Server 2008, SQL Server 2008 R2, SQL Server 2012, SQL Server 2014, SQL Server 2016, SQL Server 2017, SQL Server 2018, SQL Server 2019, Parallel Data Warehouse, Azure SQL Database và Azure SQL Data Warehouse.
Ví dụ 1:
SELECT CHARINDEX('Gitiho', 'Welcome to Gitiho')
Viết hàm này vào SQL rồi chạy công thức, bạn sẽ thu được kết quả 12. 12 chính là thứ tự bắt đầu của chữ cái đầu tiên trong chuỗi ‘Gitiho’.
Ví dụ 2: Tìm vị trí đầu tiên của chuỗi con ‘for’ trong chuỗi 'Love for all, Hate for none' bắt đầu từ vị trí đầu tiên thứ 10 trong chuỗi lớn.
Để giải được bài toán này, bạn kết hợp hàm CHARINDEX với câu lệnh truy vấn SELECT trong SQL như sau:
SELECT CHARINDEX ('for', 'Love for all, Hate for none', 10) As Position;
Khi bắt đầu tìm từ vị trí 10, hàm sẽ tìm thấy chuỗi 'for' đầu tiên ở vị trí thứ 20.
Trong thực tế, hàm CHARINDEX được ứng dụng nhiều khi muốn trích xuất thông tin từ các log file, xử lý dữ liệu từ các trường văn bản như địa chỉ email, URL, hoặc xác định các phần tử quan trọng trong dữ liệu hệ thống như loại lỗi, thông tin tài khoản,...
Để hiểu hơn về các hàm và câu lệnh trong SQL, mời bạn đọc tham khảo khóa học SQL cho người mới bắt đầu sau tại Gitiho:
SQLG01 - Truy vấn dữ liệu với SQL
Nimbus Academy
Trên đây là hướng dẫn sử dụng hàm CHARINDEX trong SQL cơ bản kèm các ví dụ thực tế. Hy vọng nó có thể giúp ích cho bạn trong quá trình làm việc với dữ liệu. Chúc bạn thành công!
Xem thêm:
Hàm COALESCE trong SQL trả về giá trị không NULL đầu tiên
Khóa học giúp bạn làm chủ ngôn ngữ truy vấn dữ liệu phổ biến SQL từ cơ bản đến nâng cao. Từ đó có thể tự tin xây dựng, truy vấn, và tối ưu hóa các cơ sở dữ liệu phức tạp, hỗ trợ phân tích, làm báo cáo và ra quyết định kinh doanh một cách hiệu quả.
Đăng ký học thử để trải nghiệm ngay hôm nay!