1. 程式人生 > >SQL將用戶表中已存在的數據所有姓名(漢字)轉換為拼音首字母

SQL將用戶表中已存在的數據所有姓名(漢字)轉換為拼音首字母

var 語句 ont htm bold varchar 實現 where into

實現方法:

--函數

Create 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 --執行語句 declare @id int; declare @UserName varchar(100); declare @cursor cursor;--遊標 set @cursor=cursor for select id,UserName from T_user; open @cursor fetch next from @cursor into @id,@UserName; while @@FETCH_STATUS=0 begin begin update T_user set UserName=(SELECT [dbo].[fn_GetPy](@UserName)) where id=@id end fetch next from @cursor into @id,@UserName; end close @cursor deallocate @cursor

原文地址:https://www.cnblogs.com/gqrbkw/p/4724533.html

SQL將用戶表中已存在的數據所有姓名(漢字)轉換為拼音首字母