SQL server中表数据自动生成拼音码
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                SQL server中表数据自动生成拼音码
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                總結將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) end2、執行完步驟一后可以直接代用方法: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總結
以上是生活随笔為你收集整理的SQL server中表数据自动生成拼音码的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: 神州数码DCN交换机SNMP配置命令
 - 下一篇: Apache SSI 远程命令执行漏洞