[转贴]取得拼音字头的存储过程

来源:互联网 发布:淘宝开店怎么样 编辑:程序博客网 时间:2024/04/26 18:36
-- =============================================-- Create scalar function (NWGetPYFirst)-- =============================================IF EXISTS (SELECT * FROM   sysobjects WHERE  name = N'NWGetPYFirst') DROP FUNCTION NWGetPYFirstGOCREATE FUNCTION NWGetPYFirst(@str varchar(500) = '')RETURNS varchar(500)ASBEGIN Declare @strlen int,  @return varchar(500),  @ii int,  @c char(1),  @chn nchar(1) --//初始化变量  Declare @pytable table(chn char(2) COLLATE Chinese_PRC_CS_AS NOT NULL,py char(1) COLLATE Chinese_PRC_CS_AS NULL,PRIMARY KEY (chn)    ) insert into @pytable values('吖', 'A') insert into @pytable values('八', 'B') insert into @pytable values('嚓', 'C') insert into @pytable values('咑', 'D') insert into @pytable values('妸', 'E') insert into @pytable values('发', 'F') insert into @pytable values('旮', 'G') insert into @pytable values('铪', 'H') insert into @pytable values('丌', 'I') --insert into @pytable values('丌', 'J') insert into @pytable values('咔', 'K') insert into @pytable values('垃', 'L') insert into @pytable values('嘸', 'M') insert into @pytable values('拏', 'N') insert into @pytable values('噢', 'O') insert into @pytable values('妑', 'P') insert into @pytable values('七', 'Q') insert into @pytable values('呥', 'R') insert into @pytable values('仨', 'S') insert into @pytable values('他', 'T') insert into @pytable values('屲', 'U') --insert into @pytable values('屲', 'V') --insert into @pytable values('屲', 'W') insert into @pytable values('夕', 'X') insert into @pytable values('丫', 'Y') insert into @pytable values('帀', 'Z') select @strlen = len(@str), @return = '', @ii = 0  --//循环整个字符串,用拼音的首字母替换汉字  while @ii < @strlen  begin  select @ii = @ii + 1, @chn = substring(@str, @ii, 1)  if @chn > 'z' --//检索输入的字符串中有中文字符   SELECT @c = max(py)   FROM @pytable   where chn <= @chn  else   set @c=@chn   set @return=@return+@c  end return @returnENDGO-- =============================================-- Example to execute function-- =============================================SELECT dbo.NWGetPYFirst('梦想国度'), dbo.NWGetPYFirst('noctwolf分享源码'), dbo.NWGetPYFirst('')GO
原创粉丝点击