SQL server中表数据自动生成拼音码 您所在的位置:网站首页 姓名拼音函数 SQL server中表数据自动生成拼音码

SQL server中表数据自动生成拼音码

2023-10-01 03:34| 来源: 网络整理| 查看: 265

总结将SQL server 中表数据自动生成拼音码的实现步骤: 1、创建一个方法,传入一个参数,这个参数是你要将什么样的数据自动生成拼音码。 下面代码可以直接复制到你们的编辑器中运行。运行后就可以调用  fn_GetPy(str)方法。 CREATE function 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 2、执行完步骤一后可以直接代用方法:fn_GetPy(str) ,str是要传入的参数。 实例:

将表科室表(DicDept_KS)中的name字段自动生成一个拼音码,注:Code ,Name,PYM  这三个字段都是表DicDept_KS中的字段。

--查询这个科室表中的是否生成拼音码,确认生成了拼音码后进行修改

SELECT Code, name , dbo.fn_GetPy(name) AS PYM FROM dbo.DicDept_KS

--修改科室表中的PYM字段为生成的拼音码

update dbo.DicDept_KS set PYM =dbo.fn_GetPy(name )

 最后生成的结果如下:

--把生成的拼音码转化为大写可以借助UPPER(str)函数。

SELECT Code ,Name,UPPER(PYM) as PYM FROM DICDEPT_KS



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有