[SQLSERVER] Hướng Dẫn Tạo Function Bỏ Dấu Tiếng Việt Unicode
Có thể bạn quan tâm
Xin chào các bạn, bài viết hôm nay mình sẽ tiếp tục hướng dẫn các bạn cách bỏ dấu tiếng việt trong cơ sở dữ liệu Microsoft Sqlserver.
Trong lập trình ứng dụng hay website, nhiều lúc các bạn sẽ làm việc với các hàm tìm kiếm.
Ví dụ: Khi các bạn muốn tìm kiếm mà người dùng nhập vào không dấu thì sqlserver tự động tìm kiếm theo không dấu.
Source code Function Non_Unicode_Convert:
CREATE FUNCTION [dbo].[non_unicode_convert](@inputVar NVARCHAR(MAX) ) RETURNS NVARCHAR(MAX) AS BEGIN IF (@inputVar IS NULL OR @inputVar = '') RETURN '' DECLARE @RT NVARCHAR(MAX) DECLARE @SIGN_CHARS NCHAR(256) DECLARE @UNSIGN_CHARS NCHAR (256) SET @SIGN_CHARS = N'ăâđêôơưàảãạáằẳẵặắầẩẫậấèẻẽẹéềểễệếìỉĩịíòỏõọóồổỗộốờởỡợớùủũụúừửữựứỳỷỹỵýĂÂĐÊÔƠƯÀẢÃẠÁẰẲẴẶẮẦẨẪẬẤÈẺẼẸÉỀỂỄỆẾÌỈĨỊÍÒỎÕỌÓỒỔỖỘỐỜỞỠỢỚÙỦŨỤÚỪỬỮỰỨỲỶỸỴÝ' + NCHAR(272) + NCHAR(208) SET @UNSIGN_CHARS = N'aadeoouaaaaaaaaaaaaaaaeeeeeeeeeeiiiiiooooooooooooooouuuuuuuuuuyyyyyAADEOOUAAAAAAAAAAAAAAAEEEEEEEEEEIIIIIOOOOOOOOOOOOOOOUUUUUUUUUUYYYYYDD' DECLARE @COUNTER int DECLARE @COUNTER1 int SET @COUNTER = 1 WHILE (@COUNTER <= LEN(@inputVar)) BEGIN SET @COUNTER1 = 1 WHILE (@COUNTER1 <= LEN(@SIGN_CHARS) + 1) BEGIN IF UNICODE(SUBSTRING(@SIGN_CHARS, @COUNTER1,1)) = UNICODE(SUBSTRING(@inputVar,@COUNTER ,1)) BEGIN IF @COUNTER = 1 SET @inputVar = SUBSTRING(@UNSIGN_CHARS, @COUNTER1,1) + SUBSTRING(@inputVar, @COUNTER+1,LEN(@inputVar)-1) ELSE SET @inputVar = SUBSTRING(@inputVar, 1, @COUNTER-1) +SUBSTRING(@UNSIGN_CHARS, @COUNTER1,1) + SUBSTRING(@inputVar, @COUNTER+1,LEN(@inputVar)- @COUNTER) BREAK END SET @COUNTER1 = @COUNTER1 +1 END SET @COUNTER = @COUNTER +1 END -- SET @inputVar = replace(@inputVar,' ','-') RETURN @inputVar ENDVí dụ: bây giờ mình sẽ nhập vào từ khóa không dấu là "Nhat ban" thì kết quả trả về của chúng ta mong muốn là có từ Nhật Bản.
Code tìm kiếm sqlserver:
DECLARE @query NVARCHAR(max) SELECT @query = dbo.non_unicode_convert(N'nhat ban') SELECT * FROM dbo.tbl_baiviet WHERE dbo.non_unicode_convert(title) LIKE '%' + @query+ '%'Kết quả thực hiện truy vấn trên
HAVE FUN :)
Tags: bỏ dấu unicodebỏ dấu tiếng việt sqlserverremove unicodeTừ khóa » Dấu ' Trong Sql Server
-
Viết Dấu " ' " Trong SQL Server - Programming
-
Ký Tự đại Diện Trong SQL - Học Sql Cơ Bản đến Nâng Cao - VietTuts
-
Tìm Kiếm Tiếng Việt Không Dấu Trong SQL Server - Viblo
-
Cách Viết điều Kiện Với Giá Trị Có Dấu Tiếng Việt Trong SQL Server ...
-
Ký Tự đại Diện Trong SQL - BAC
-
Các Toán Tử So Sánh Trong SQL Server
-
Cách Viết điều Kiện Lọc Dữ Liệu Với Giá Trị Có Dấu Tiếng Việt Trong ...
-
Viết Dấu " ' " Trong SQL Server - Code24h
-
Sử Dụng Ký Tự đại Diện Trong Truy Vấn Và Các Tham Số Trong Access
-
KB4339613-khắc Phục Sự Cố: "không đóng Dấu Ngoặc Kép Sau Lỗi ...
-
[SQLSERVER] Hướng Dẫn Cách Tìm Tiếng Việt Không Dấu - Code 24h
-
Chuyển đổi Dấu Phẩy Hoặc Các Dấu Phân Cách Khác Thành Bảng ...
-
LIKE Trong SQL Server - Comdy
-
Nối Chuỗi CONCAT Tùy Biến Tên Cột Với AS Và Toán Tử Số Học SQL
-
Làm Thế Nào để Tách Một Chuỗi Theo Một Biểu đồ được Phân Cách ...