經常使用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