取汉字拼间首字母函数

转载 2006年06月08日 10:46:00

说明:我原来也写过一个相同功能的函数,今天看到了下面的代码,发现比我写的简洁多了,效率不错,特的抄录在下面。

 

/*
sql函数: fun_getPY 得到汉字串拼音
*/
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

完整简洁的Oracle获得汉字字符串拼音首字母和全拼的函数

http://www.itpub.net/forum.php?mod=viewthread&tid=1514856&page=1&extra=#pid18581463   使用以下地址的无法获得完...
  • e_wsq
  • e_wsq
  • 2011年11月24日 23:56
  • 5323

将汉字转为全拼或返回拼音首字母的函数

最近itpub上有很多关于汉字转拼音的问题,正好今晚有兴致就整理了一下。 create or replace type spell_code as object(spell varchar2(10)...

[MSSQL]取汉字首字母的两个函数

go --创建取汉字首字母函数(第一版) create function [dbo].[f_getpy_V1] (@str nvarchar(4000)) returns nvarchar(4...

创建取汉字首字母函数(第四版最优)

select dbo.f_getpy_V1('我是一个土生土长的中国人')   select dbo.f_getpy_V2('我是一个土生土长的中国人')   select dbo.f_getpy...

PHP将汉字转化成拼音的函数(用于取首字母索引或按字母排序中文)

PHP将汉字转化成拼音的函数(用于取首字母索引或按字母排序中文) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 ...

oracle使用汉字首字母查询函数

原文地址:使用汉字首字母查询函数以及使用方法">oracle 使用汉字首字母查询函数以及使用方法作者:亚历山大女王CREATE OR REPLACE FUNCTION F_TRANS_PINYIN_C...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:取汉字拼间首字母函数
举报原因:
原因补充:

(最多只允许输入30个字)