SQL获取汉字首字母函数

Posted 源代码

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL获取汉字首字母函数相关的知识,希望对你有一定的参考价值。

CREATE   FUNCTION  [dbo].[fun_getPY](@str nvarchar(4000) ) 
RETURNS  nvarchar(4000) 
AS  
BEGIN  
  DECLARE @word nchar(1),@PY nvarchar(4000) 
  set @PY=‘‘ 
  WHILE len(@str)>0 
  BEGIN    
    set @word=left(@str,1) 

    --如果非汉字字符,返回原字符 
    set @PY=@PY+(case when unicode(@word) between 19968 and 19968+20901 
               then (  
                     select top 1 PY  
                     from  
                     (  
                     select ‘A‘ as PY,N‘驁‘ as word 
                     union all select ‘B‘,N‘簿‘ 
                     union all select ‘C‘,N‘錯‘ 
                     union all select ‘D‘,N‘鵽‘ 
                     union all select ‘E‘,N‘樲‘ 
                     union all select ‘F‘,N‘鰒‘ 
                     union all select ‘G‘,N‘腂‘ 
                     union all select ‘H‘,N‘夻‘ 
                     union all select ‘J‘,N‘攈‘ 
                     union all select ‘K‘,N‘穒‘ 
                     union all select ‘L‘,N‘鱳‘ 
                     union all select ‘M‘,N‘旀‘ 
                     union all select ‘N‘,N‘桛‘ 
                     union all select ‘O‘,N‘漚‘ 
                     union all select ‘P‘,N‘曝‘ 
                     union all select ‘Q‘,N‘囕‘ 
                     union all select ‘R‘,N‘鶸‘ 
                     union all select ‘S‘,N‘蜶‘ 
                     union all select ‘T‘,N‘籜‘ 
                     union all select ‘W‘,N‘鶩‘ 
                     union all select ‘X‘,N‘鑂‘ 
                     union all select ‘Y‘,N‘韻‘ 
                     union all select ‘Z‘,N‘咗‘ 
                      ) T  
                   where word>=@word collate Chinese_PRC_CS_AS_KS_WS  
                   order by PY ASC 
                          )  
                      else @word  
                 end) 
    SET  @str=right(@str,len(@str)-1) 
    END 
    RETURN @PY
END 


GO

 

测试:

SELECT dbo.fun_getPY(‘芷‘)

 

以上是关于SQL获取汉字首字母函数的主要内容,如果未能解决你的问题,请参考以下文章

SQL 获取名字拼音

mysql数据库,获取某一个汉字的拼音的首字母。怎么整?

SQL Server 获取汉字的拼音首字母

php 获取汉字拼音首字母的函数

获取整条字符串所有汉字拼音首字母的函数

sql中根据汉字的拼音首字母查询的函数