zoukankan      html  css  js  c++  java
  • sqlserver 汉字转拼音 首写字母 索引 函数

    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

    select dbo.fun_getPY('中国') 得到:ZG

    好用的函数 哈哈!

    详情 摘自于:http://wenku.baidu.com/view/89956eceda38376baf1faefd.html

  • 相关阅读:
    Java工具类——UUIDUtils
    Python中的split()函数的用法
    学习笔记
    hdu 1558 线段相交+并查集
    hdu 4609 FFT
    hdu1402 FFT入门
    多项式乘法快速算法
    FFT
    GDUT校赛
    light oj 1236 分解质因数
  • 原文地址:https://www.cnblogs.com/90nice/p/3140280.html
Copyright © 2011-2022 走看看