码迷,mamicode.com
首页 > 数据库 > 详细

SQL获取汉字首字母函数

时间:2020-06-16 14:44:46      阅读:72      评论:0      收藏:0      [点我收藏+]

标签:汉字   arc   ase   nbsp   UNC   母函数   function   The   collate   

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获取汉字首字母函数

标签:汉字   arc   ase   nbsp   UNC   母函数   function   The   collate   

原文地址:https://www.cnblogs.com/lb809663396/p/13140782.html

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