Thứ Hai, 8 tháng 12, 2008

Convert nvarchar to ANSII sqlserver

Đầu tiên ta tao 1 bang chua các ký tự thay doi trong sql server

create table ToASCII(target_char CHAR(1), source_char NVARCHAR(50))


viết 1 function dùng để chuyển đổi với nội dung như sao

CREATE FUNCTION ConvertToASCII (@input nvarchar(200))
RETURNS nvarchar(200)
AS
BEGIN
DECLARE @x_target CHAR(1), @x_source NVARCHAR(30), @t_leng int, @t_runner int, @t_char NVARCHAR(1)
DECLARE Get_Cursor CURSOR FOR SELECT target_char, source_char FROM ToASCII
OPEN Get_Cursor
FETCH NEXT FROM Get_Cursor INTO @x_target, @x_source
WHILE @@FETCH_STATUS = 0
BEGIN
SET @t_leng = LEN(@x_source)
SET @t_runner = 1
WHILE @t_runner <= @t_leng
BEGIN
SET @t_char = SUBSTRING(@x_source, @t_runner, 1)
SET @input = REPLACE(@input, @t_char, @x_target)
SET @t_runner = @t_runner +1
END
FETCH NEXT FROM Get_Cursor INTO @x_target, @x_source
END
CLOSE Get_Cursor
DEALLOCATE Get_Cursor
RETURN @input
END


để test thử function nay ta thử thực hiện như sao
vào table vừa tạo nhập vào như sao

o ô
u ú

lúc này ta sẽ thực hiện cậu lệnh select xem thử kết quả nhé

select [dbo].ConvertToASCII('ngô gia phúc') as ten


lúc này table sẽ trả về với giá trị là 'ngo gia phuc'

bạn đã thấy sự khác biệt này chứ
thử làm nhé!!!

Không có nhận xét nào: