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

MYSQL
Mysql数据库常见的“#1251”錯誤分析
SQL 查询语句积累
MyGeneration连接MySql数据库的解决办法
新手扫盲:MySQL入门基础知识简介
如何在MySQL中获得更好的搜索结果
浅谈如何应用JDBC连接数据库MySQL
实际应用:MySQL5存储过程的编写实践
MySQL5的异常处理
SQL查询语句精华使用简要
MySQL数据库基础:数据类型及列类型
MySQL 忘记口令的解决办法
MySQL账户相关
MySQL存在权限提升及安全限制绕过漏洞
MySQL手册版本 5.0.20-MySQL优化(六)
新手入门--全面介绍MySQL的基础应用
一步步教你在Windows环境下安装MySQL
MySQL手册版本 5.0.20-MySQL优化(一)
MySQL手册版本 5.0.20-MySQL同步(三)
SQL查询语句对象化的实现(C#)
真的? MySQL被计划转为Linux文件系统

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


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