sql 函式 漢字轉拼音

2021-09-07 08:29:43 字數 2278 閱讀 3694

go

/****** object: userdefinedfunction [dbo].[fn_getpy] script date: 2017/1/4 10:53:49 ******/

set ansi_nulls on

goset quoted_identifier on

goalter function [dbo].[fn_getpy](@str nvarchar(4000))

returns nvarchar(4000)

--用於加密

--with encryption

as begin

declare @intlen int

declare @strret nvarchar(4000)

declare @temp nvarchar(100)

set @intlen = len(@str)

set @strret = ''

while @intlen > 0

begin

set @temp = ''

select @temp = case

when substring(@str,@intlen,1) >= '帀' then 'z'

when substring(@str,@intlen,1) >= '丫' then 'y'

when substring(@str,@intlen,1) >= '夕' then 'x'

when substring(@str,@intlen,1) >= '屲' then 'w'

when substring(@str,@intlen,1) >= '他' then 't'

when substring(@str,@intlen,1) >= '仨' then 's'

when substring(@str,@intlen,1) >= '呥' then 'r'

when substring(@str,@intlen,1) >= '七' then 'q'

when substring(@str,@intlen,1) >= '妑' then 'p'

when substring(@str,@intlen,1) >= '噢' then 'o'

when substring(@str,@intlen,1) >= '拏' then 'n'

when substring(@str,@intlen,1) >= '嘸' then 'm'

when substring(@str,@intlen,1) >= '垃' then 'l'

when substring(@str,@intlen,1) >= '咔' then 'k'

when substring(@str,@intlen,1) >= '丌' then 'j'

when substring(@str,@intlen,1) >= '鉿' then 'h'

when substring(@str,@intlen,1) >= '旮' then 'g'

when substring(@str,@intlen,1) >= '發' then 'f'

when substring(@str,@intlen,1) >= '妸' then 'e'

when substring(@str,@intlen,1) >= '咑' then 'd'

when substring(@str,@intlen,1) >= '嚓' then 'c'

when substring(@str,@intlen,1) >= '八' then 'b'

when substring(@str,@intlen,1) >= '吖' then 'a'

else rtrim(ltrim(substring(@str,@intlen,1)))

end

--對於漢字特殊字元,不生成拼音碼

if (ascii(@temp)>127) set @temp = ''

--對於英文中小括號,不生成拼音碼

if @temp = '(' or @temp = ')' set @temp = ''

select @strret = @temp + @strret

set @intlen = @intlen - 1

end

return lower(@strret)

end

效果如下:

sql 函式 漢字轉拼音

go object userdefinedfunction dbo fn getpy script date 2017 1 4 10 53 49 set ansi nulls on goset quoted identifier on goalter function dbo fn getpy st...

PHP漢字轉拼音函式

function pinyin string,code utf8 res pinyin p,data return preg replace a z0 9 res function pinyin num,data elseif num 20319 num 10247 else return k fu...

漢字轉拼音

region 漢字轉拼音 漢字轉拼音類 用法 crazycoderpinyin.covent 漢字 長度 using system.text.regularexpressions build date 20030610 public class crazycoderpinyin 定義陣列 priva...