你的位置:首页 > 数据库

[数据库]SQL Server 字段提取拼音首字母


目前工作中遇到一个情况,需要将SQL Server中的一个字段提取拼音的首字母,字段由汉字、英文、数字以及“-”构成,百度了一堆,找到如下方法,记录一下,以备后用!

  首先建立一个函数  

--生成拼音首码  CREATE function fn_GetPy(@str nvarchar(4000))  returns nvarchar(4000)  --WITH ENCRYPTION  as  begin  declare @intLen int  declare @strRet nvarchar(4000)  declare @temp nvarchar(100)  set @intLen = len(@str)  set @strRet = ''  while @intLen > 0  begin  set @temp = ''  select @temp = case   when substring(@str,@intLen,1) >= '帀' then 'Z'  when substring(@str,@intLen,1) >= '丫' then 'Y'  when substring(@str,@intLen,1) >= '夕' then 'X'  when substring(@str,@intLen,1) >= '屲' then 'W'  when substring(@str,@intLen,1) >= '他' then 'T'  when substring(@str,@intLen,1) >= '仨' then 'S'  when substring(@str,@intLen,1) >= '呥' then 'R'  when substring(@str,@intLen,1) >= '七' then 'Q'  when substring(@str,@intLen,1) >= '妑' then 'P'  when substring(@str,@intLen,1) >= '噢' then 'O'  when substring(@str,@intLen,1) >= '拏' then 'N'  when substring(@str,@intLen,1) >= '嘸' then 'M'  when substring(@str,@intLen,1) >= '垃' then 'L'  when substring(@str,@intLen,1) >= '咔' then 'K'  when substring(@str,@intLen,1) >= '丌' then  'J'  when substring(@str,@intLen,1) >= '铪' then 'H'  when substring(@str,@intLen,1) >= '旮' then 'G'  when substring(@str,@intLen,1) >= '发' then 'F'  when substring(@str,@intLen,1) >= '妸' then 'E'  when substring(@str,@intLen,1) >= '咑' then 'D'  when substring(@str,@intLen,1) >= '嚓' then 'C'  when substring(@str,@intLen,1) >= '八' then 'B'  when substring(@str,@intLen,1) >= '吖' then 'A'  else rtrim(ltrim(substring(@str,@intLen,1)))  end  --对于汉字特殊字符,不生成拼音码  if (ascii(@temp)>127) set @temp = ''  --对于英文中小括号,不生成拼音码  if @temp = '(' or @temp = ')' set @temp = ''  select @strRet = @temp + @strRet  set @intLen = @intLen - 1  end  return lower(@strRet)  end 

执行语句

SELECT  需转换中文字段, dbo.fn_GetPy(中文字段) AS 列别名FROM    表名称

 

 感谢:Luckeryin




去浙江旅游必去景点去浙江旅游要多少钱去浙江旅游最佳路线去浙江旅游最佳时间浙江旅游线路报价连山到金子山怎么坐车?连山到金子山有班车吗? 坐看舒云卷 偷得浮生半日闲 2015清明节清远去哪里看杜鹃花?清远清明节哪里杜鹃花好看? 清远金子山杜鹃花好看吗?金子山杜鹃花盛花期? 2015连州春节赏花游玩的好去处?连州春节一日游攻略? 过年玩锦里沟特色项目 2015春节湟川三峡桃花开了吗?连州湟川三峡桃花盛花期是几月份? 2015春节森波拉酒店住宿免费泡温泉吗?森波拉温泉春节篝火晚会有什么表演? 潮州菜一脉相承 细数潮汕历史上的名酒店 长隆水上乐园2015年10月份什么时候闭园?广州长隆水上乐园闭园时间? 最强洗肺地哪里找 首选浪漫之都大连 花都香草世界有导游证免费吗?广州花都香草世界门票优惠政策? 香港元旦节有什么活动?哪里好玩? 香港哪里买婴儿用品比较好? 在香港怎么打电话比较划算? 去香港买ipad怎么过关比较好? AQ12EA3R6CAJME Datasheet AQ12EA3R6CAJME Datasheet AQ12EA3R6CAJME\500 Datasheet AQ12EA3R6CAJME\500 Datasheet 08055C681KAT2M Datasheet 08055C681KAT2M Datasheet 佳木斯参团去香港 佳木斯参团去香港 佳木斯参团去香港 四平参团去香港 四平参团去香港 四平参团去香港 牡丹江去香港迪士尼旅游 牡丹江去香港迪士尼旅游 牡丹江去香港迪士尼旅游