当前位置: 首页 > 图文教程 > 数据库 > MSSQL > 取汉字拼音首字母的存储过程

MSSQL
SQL Server 2000之日志传送功能 - 描述(1)
SQL Server 2000之日志传送功能 - 描述(2)
小议MSSQL Server 2000的安全及管理
关于值班管理的存储过程
根据进程号获取该进程所在客户端的ip地址
在业务系统中处理小数精度, 四舍五入,全舍弃,全进位的方法
利用数据库复制技术 实现数据同步更新
如何将数据库中被锁表解锁
SQLServer 2005安装及界面截图,新增功能
sql server锁机制
SQL Server 2000之日志传送功能 - 问题解决
SQL Server 2000之日志传送功能 - 设定(1)
SQL Server 2000之日志传送功能 - 设定(2)
SQL Server 2000之日志传送功能 - 设定(3)
Sql Server实用操作小技巧集合(一)
Sql Server实用操作小技巧集合(二)
Sql Server实用操作小技巧集合(三)
SQL Server提升权限相关命令及防范
SQL数据操作基础(初级)1
SQL数据操作基础(初级)2

MSSQL 中的 取汉字拼音首字母的存储过程


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-30   浏览: 112 ::
收藏到网摘: 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'蜶'