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

MYSQL
Linux学习教程:不同版本Mysql安装
MySql教程:两个表之间更新数据
WIndows系统下安装mysql-noinstall版本
PageCookery:基于Php+Mysql架构国产的微博客
MYSQL教程:MYSQL外键的应用
MYSQL教程:my.cnf缓存优化
MYSQL教程:Explain用法
MySQL的mysqldump工具导入导出数据
mysql proxy读写分离脚本的问题
MYSQL教程:学习MYSQL存储过程
Got error 28 from storage engine
用mysqldump导出Trigger问题解决方法
MYSQL的MASTER到MASTER的主主循环同步
MYSQL教程:MYSQL查询优化
MYSQL教程:了解MYSQL临时表
MYSQL教程:mysqldump使用说明
MYSQL教程:Show命令使用说明
MYSQL教程:MYSQL数据表随机数的取出
Webjx收集10个漂亮的Joomla!网站设计实例
phpBB 3.0.6 RC1简单介绍和下载

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-17   浏览: 54 ::
收藏到网摘: 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(把#改为@)。