zoukankan      html  css  js  c++  java
  • sql 函数 汉字转拼音

    GO
    /****** Object: UserDefinedFunction [dbo].[fn_GetPy] Script Date: 2017/1/4 10:53:49 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    ALTER 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
    

      效果如下:

  • 相关阅读:
    Java一次读取文本文件所有内容
    java Socket多线程聊天程序
    输出1-100内的质数(素数)
    random.nextInt()与Math.random()基础用法
    【bash】今天你坑队友了吗
    【awk】按小时切割日志
    python获取aliyun ECS实例
    记一次优化ansible inventory的小例子
    Apache Flume入门指南[翻译自官方文档]
    django入门-自定义管理界面-part7
  • 原文地址:https://www.cnblogs.com/soundcode/p/6247781.html
Copyright © 2011-2022 走看看