Tìm kiếm không dấu trong MySQL

Trong các cách tìm kiếm, thì người dùng thường tìm kiếm không dấu, vậy trong sqlserver tìm không dấu mình sẽ thực hiện như thế nào?

Chính vì vậy bài viết này, mình sẽ hướng dẫn các bạn cách tìm kiếm không dấu trong sqlserver.

Các bạn cũng có thể tham khảo thêm về full text search ở link bên dưới, tuy nhiên tùy vào trường hợp mà chúng ta sử dụng hay không? 

[SQLSERVER] Hướng dẫn sử dụng chức năng tìm kiếm Full Text Search SQL SERVER 2016

Dưới đây, mình có một bảng view nhân viên:

Khi chạy câu lệnh sql

SELECT manv, tennv, ngaysinh, tinhtrang, diachi1 FROM dbo.view_nhanvien

=> Kết quả dữ liệu bên dưới

- Bây giờ, mình muốn tìm kiếm dữ liệu theo tennv, và các nhập truy vấn nhập vào có dấu hay không dấu đều trả về dữ liệu cho chúng ta.

Thông thường, khi nhận 1 yêu cầu chức năng tìm kiếm không chính xác bạn sẽ nghĩ ngay đến câu query sau:
SELECT id,title,description FROM book WHERE title LIKE ‘%keyword%’

Nhưng nó có 1 số hạn chế: không chính xác, tốc độ truy vấn chậm, vấn đề với tiếng Việt có dấu và không có dấu.

nhoemzx

16-01-2012, 15:55

cái bạn nói mình chưa tìm hiểu.
Nhưng search thì có 3 cách cơ bản.
=> lưu 1 cột không dấu nữa
=> bỏ dấu lúc select ở mệnh đề WHERE
=> Thêm dấu cho từ bạn nhập rồi LIKE,
Nếu tìm kiếm không nhiều thì cách 3 là hay nhất :D

2 cách đầu tiên thì sẽ phải đi cùng với nhau, và mình không muốn để cập vì có thể chiển khai, nhưng như đã nói, làm như vậy sẽ bị data redundancy, và đi ngược lại cấu trúc logic của database.

Thêm dấu cho từ bạn nhập rồi LIKE

Chủ Đề