当前位置: 首页 > 图文教程 > 数据库 > MYSQL > SQL Server中取汉字拼音的函数

MYSQL
轻松解决Mysql“信息包过大”的处理方法
MySQL数据库实例管理器命令行选项详解
连接到MySQL实例管理器并创建用户账户
MySQL数据库中实例管理器识别的命令
教你快速了解应该如何升级MySQL系统表
轻轻松松正确掌握MySQL服务器关机进程
MySQL数据库搜索中大小写敏感性详细
如何正确认识Mysql通信错误与失效连接
MYSQL使用错误 MYSQL中ERROR 1005
MYSQL使用错误 MYSQL中ERROR 1006
MySQL手动安装方法与中文解决方案
MySQL事件调度器Event Scheduler详解
Mysql使用Describe命令判断字段是否存在
MySQL UPDATE时主键冲突引发的思考
怎样解决MySQL 5.0.16的乱码问题
详解如何用SQLyog来分析MySQL数据库
在MySQL数据库中如何为用户设置密码
MySQL多表操作和备份处理教程
在线设置MySql数据同步
tomcat+mysql数据库的连接池配置

MYSQL 中的 SQL Server中取汉字拼音的函数


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-17   浏览: 78 ::
收藏到网摘: n/a

Create  function fun_getPY
 (
    @str nvarchar(4000)
 )
returns nvarchar(4000)
as
begin
  declare @word nchar(1),@PY nvarchar(4000)

  set @PY=''

  while len(@str)>0
  begin
    set @word=left(@str,1)

    --如果非汉字字符,返回原字符
    set @PY=@PY+(case when unicode(@word) between 19968 and 19968+20901
               then ( 
                            select top 1 PY 
                            from 
                            ( 
                             select 'A' as PY,N'驁' as word
                             union all select 'B',N'簿'
                             union all select 'C',N'錯'
                     union all select 'D',N'鵽'
                     union all select 'E',N'樲'
                     union all select 'F',N'鰒'
                     union all select 'G',N'腂'
                     union all select 'H',N'夻'
                     union all select 'J',N'攈'
                     union all select 'K',N'穒'
                     union all select 'L',N'鱳'
                     union all select 'M',N'旀'
                     union all select 'N',N'桛'
                     union all select 'O',N'漚'
                     union all select 'P',N'曝'
                     union all select 'Q',N'囕'
                     union all select 'R',N'鶸'
                     union all select 'S',N'蜶'
                     union all select 'T',N'籜'
                     union all select 'W',N'鶩'
                     union all select 'X',N'鑂'
                     union all select 'Y',N'韻'
                     union all select 'Z',N'咗'
                      ) T 
                   where word>=@word collate Chinese_PRC_CS_AS_KS_WS 
                   order by PY ASC
                          ) 
                      else @word 
                 end)
    set @str=right(@str,len(@str)-1)
  end

  return @PY

end

请作者联系本站,及时附注您的姓名。联系邮箱:edu#ruanchen.com(把#改为@)。