生成sqlserver拼音码

--生成拼音首码  
  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,1)  >=    then  Y  
  when  substring(@str,1)  >=    then  X  
  when  substring(@str,1)  >=    then  W  
  when  substring(@str,1)  >=    then  T  
  when  substring(@str,1)  >=    then  S  
  when  substring(@str,1)  >=    then  R  
  when  substring(@str,1)  >=    then  Q  
  when  substring(@str,1)  >=    then  P  
  when  substring(@str,1)  >=    then  O  
  when  substring(@str,1)  >=    then  N  
  when  substring(@str,1)  >=    then  M  
  when  substring(@str,1)  >=    then  L  
  when  substring(@str,1)  >=    then  K  
  when  substring(@str,1)  >=    then    J  
  when  substring(@str,1)  >=    then  H  
  when  substring(@str,1)  >=    then  G  
  when  substring(@str,1)  >=    then  F  
  when  substring(@str,1)  >=    then  E  
  when  substring(@str,1)  >=    then  D  
  when  substring(@str,1)  >=    then  C  
  when  substring(@str,1)  >=    then  B  
  when  substring(@str,1)  >=    then  A  
  else  rtrim(ltrim(substring(@str,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  

使用  

SELECT Product_ID,dbo.fn_GetPy(Product_Name) AS pymc FROM dbo.T_Product

update dbo.T_Product set  Product_Pinyin=dbo.fn_GetPy(Product_Name) 

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...