ホームページ  >  記事  >  データベース  >  获取中文名称的首字母

获取中文名称的首字母

WBOY
WBOYオリジナル
2016-06-07 14:54:531356ブラウズ

用于获取中文名称的首字母 拼音 SQL Server CREATE FUNCTION getPinYin (@str varchar(500) = '') RETURNS varchar(500) AS /*-------------------用于获取中文名称的首字母---------------------------------*/BEGIN Declare @strlen int, @return varchar(5

用于获取中文名称的首字母 拼音 SQL Server
CREATE FUNCTION  getPinYin (@str varchar(500) = '')  
RETURNS varchar(500)  AS  

/*-------------------用于获取中文名称的首字母---------------------------------*/
BEGIN 
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 @return
END


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。