經常使用SQL函數之中文轉首字母拼音

經常使用SQL函數之中文轉首字母拼音sql

 

USE [GZMetroRmsWF]
GO

/****** Object:  UserDefinedFunction [dbo].[fGetPy]    Script Date: 07/08/2013 15:11:02 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

/*
  Description:獲取字符串拼音的首字母
*/
Create function [dbo].[fGetPy](@Str varchar(500)='')  
returns varchar(500)  
AS  
Begin  
 Declare @strlen int
 Declare @return varchar(500)
 Declare @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)  
  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  
  if @c ='@' --英文直接返回  
    set @c=@chn  
  set @return=@return+@c  
 end  
 return(@return)  
End  
  

GO


 

 調用SELECT dbo.fGetPy('吳曉峯')函數

----結果:WXFblog

----成功調用ip

相關文章
相關標籤/搜索