SQLServer 获取汉字字符串对应的拼音字母字符串

当需要通过汉字的拼音字母对汉字进行排序时会用到汉字到拼音的转换,此函数就是实现这个功能,常见场景为通讯录 。实现方式为SQL Server 语句获取中文字符串对应的汉语拼音字符串。


IF(OBJECT_ID('GetPinyinLetter') IS NOT null)
	DROP FUNCTION GetPyLetter;
GO 

CREATE FUNCTION GetPinyinLetter
    (
      @ChineseStr NVARCHAR(4000)
    )
RETURNS NVARCHAR(4000)
AS
    BEGIN
 
        DECLARE @SingleChar NCHAR(1) ,
            @ReturnString NVARCHAR(4000); 
        SET @ReturnString = ''; 

        WHILE LEN(@ChineseStr) > 0
            BEGIN
                SET @SingleChar = LEFT(@ChineseStr, 1); 
                IF ( UNICODE(@SingleChar) BETWEEN 19968 AND 19968 + 20901 )
                    SET @ReturnString = @ReturnString
                        + ( SELECT TOP 1
                                    PY
                            FROM    ( SELECT    'A' AS PY ,
                                                N'骜' AS Chin
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值