码迷,mamicode.com
首页 > 其他好文 > 详细

第一节:对应拼音编码查询(后续更新)

时间:2018-07-06 11:33:05      阅读:137      评论:0      收藏:0      [点我收藏+]

标签:扩展   set   and   pre   top   creat   col   because   collate   

表结构扩展一个字段用来保存pactname的拼音编码
查询时对应拼音编码查询:

if   exists   (select   *   from   dbo.sysobjects   where   id   =   object_id(N‘[dbo].[fGetPy]‘)   and   xtype   in   (N‘FN‘,   N‘IF‘,   N‘TF‘))  
  drop   function   [dbo].[fGetPy]  
  GO  
   
  --创建取拼音函数  
  create   function   fGetPy(@Str   varchar(500)=‘‘)  
  returns   varchar(500)  
  as  
  begin  
  declare   @strlen   int,@return   varchar(500),@ii   int  
  declare   @n   int,@c   char(1),@chn   nchar(1)  
   
  select   @strlen=len(@str),@return=‘‘,@ii=0  
  set   @ii=0  
  while   @ii<@strlen  
  begin  
  select   @ii=@ii+1,@n=63,@chn=substring(@str,@ii,1)  
  if   @chn>‘z‘  
  select   @n   =   @n   +1  
  ,@c   =   case   chn   when   @chn   then   char(@n)   else   @c   end  
  from(  
  select   top   27   *   from   (  
  select   chn   =   ‘吖‘  
  union   all   select   ‘八‘  
  union   all   select   ‘嚓‘  
  union   all   select   ‘咑‘  
  union   all   select   ‘妸‘  
  union   all   select   ‘发‘  
  union   all   select   ‘旮‘  
  union   all   select   ‘铪‘  
  union   all   select   ‘丌‘ --because   have   no   ‘i‘  
  union   all   select   ‘丌‘  
  union   all   select   ‘咔‘  
  union   all   select   ‘垃‘  
  union   all   select   ‘嘸‘  
  union   all   select   ‘拏‘  
  union   all   select   ‘噢‘  
  union   all   select   ‘妑‘  
  union   all   select   ‘七‘  
  union   all   select   ‘呥‘  
  union   all   select   ‘仨‘  
  union   all   select   ‘他‘  
  union   all   select   ‘屲‘ --no   ‘u‘  
  union   all   select   ‘屲‘ --no   ‘v‘  
  union   all   select   ‘屲‘  
  union   all   select   ‘夕‘  
  union   all   select   ‘丫‘  
  union   all   select   ‘帀‘  
  union   all   select   @chn)   as   a  
  order   by   chn   COLLATE   Chinese_PRC_CI_AS    
  )   as   b  
  else   set   @c=‘a‘  
  set   @return=@return+@c  
  end  
  return(@return)  
  end  
   
  go  
  --测试  
  select   dbo.fgetpy(‘东莞市‘)   as   东莞市,dbo.fgetpy(‘ab中c国人‘)   as   中国人  
   
  --删除拼音函数  
  drop   function   fgetpy   

  

第一节:对应拼音编码查询(后续更新)

标签:扩展   set   and   pre   top   creat   col   because   collate   

原文地址:https://www.cnblogs.com/chenze-Index/p/9272283.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!