sql server获取汉字首字母的函数(第三版)

发布时间:2019-11-01编辑:脚本学堂
sql server获取汉字首字母函数(第三版) ,供大家学习参考。

sql server获取汉字首字母函数(第三版) ,供大家学习参考。

复制代码 代码如下:

--取得汉字首字母
create function [dbo].[f_getpy_V3] 
    (
        @col varchar(1000)
    )
    returns varchar(1000)
    as 
        begin
            declare @cyc int,@len int,@sql varchar(1000),@char varbinary(20)
            select @cyc = 1,@len = len(@col),@sql = ''
            while @cyc <= @len 
                begin  
                    select @char = cast(substring(@col, @cyc, 1) as varbinary)
                    declare @maco table (bcode varbinary(20),ecode varbinary(20),letter varchar(10))
                    insert into @maco
                    select 0XB0A1,0XB0C4,'A' union all
                    select 0XB0C5,0XB2C0,'B' union all
                    select 0XB2C1,0XB4ED,'C' union all
                    select 0XB4EE,0XB6E9,'D' union all
                    select 0XB6EA,0XB7A1,'E' union all
                    select 0XB7A2,0XB8C0,'F' union all
                    select 0XB8C1,0XB9FD,'G' union all
                    select 0XB9FE,0XBBF6,'H' union all
                    select 0XBBF7,0XBFA5,'J' union all
                    select 0XBFA6,0XC0AB,'K' union all
                    select 0XC0AC,0XC2E7,'L' union all
                    select 0XC2E8,0XC4C2,'M' union all
                    select 0XC4C3,0XC5B5,'N' union all
                    select 0XC5B6,0XC5BD,'O' union all
                    select 0XC5BE,0XC6D9,'P' union all
                    select 0XC6DA,0XC8BA,'Q' union all
                    select 0XC8BB,0XC8F5,'R' union all
                    select 0XC8F6,0XCBF9,'S' union all
                    select 0XCBFA,0XCDD9,'T' union all
                    select 0XCDDA,0XCEF3,'W' union all
                    select 0XCEF4,0XD1B8,'X' union all
                    select 0XD1B9,0XD4D0,'Y' union all
                    select 0XD4D1,0XD7F9,'Z'
                    select top 1 @sql=@sql+letter from @maco where @char between bcode and ecode 
                    set @cyc = @cyc + 1 
                end
            return @sql
        end
    go