56,687
社区成员
发帖
与我相关
我的任务
分享
CREATE FUNCTION [dbo].[Charrep](@str NVARCHAR(200))
returns NVARCHAR(200)
AS
BEGIN
DECLARE @i INT,
@char NVARCHAR(1),
@zh NVARCHAR(200)
SET @i = 1
SET @zh = ''
WHILE @i <= Len(@str)
BEGIN
SET @char = Substring(@str, @i, 1)
IF Unicode(@char) BETWEEN 19968 AND 40869
BEGIN
SET @zh = @zh + @char
SET @i = @i + 1
END
ELSE
BEGIN
SET @zh = @zh + @char
SET @i = @i + 1
END
END
RETURN @zh
END
go
create function Charrep( __str varchar(200) charset utf16)
returns varchar(200)
begin
declare _zh varchar(200) charset utf16 default '';
declare _unzh varchar(200) charset utf16 default '';
declare _i int default 0;
declare _ch varchar(1) charset utf16;
while _i < char_length(__str) do
set _i:=_i+1, _ch:=mid(__str, _i, 1);
if ord(_ch) between 19968 and 40869 then
set _zh := concat(_zh, _ch);
else
set _unzh := concat(_unzh, _ch);
end if;
end while;
return _zh;
end;