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

MSSQL
MD5算法的T-SQL实现(FOR SQL2000)(一)
MD5算法的T-SQL实现(FOR SQL2000)(二)
《高性能的数据库》 第四讲 编程细节(1)
《高性能的数据库》 第四讲 编程细节(2)
MySQL安全性指南 (1)
MySQL安全性指南 (2)
MySQL安全性指南(3)
SQL Server数据库技术(01)
SQL Server数据库技术(02)
SQL Server数据库技术(03)
SQL Server数据库技术(04)
SQL Server数据库技术(05)
SQL Server数据库技术(06)
SQL Server数据库技术(07)
SQL Server数据库技术(08)
SQL Server数据库技术(09)
SQL Server数据库技术(10)
SQL Server数据库技术(11)
SQL Server数据库技术(12)
SQL Server数据库技术(13)

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


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