服务器中文字转汉字首拼——二元函数

原创
小哥 3年前 (2022-11-16) 阅读数 8 #大杂烩

直接上Sql,不用修改执行就可以使用;

CREATE FUNCTION [dbo].[fn_GetPy] (@str nvarchar(4000)) returns nvarchar (4000) --WITH ENCRYPTION

AS

BEGIN

    DECLARE

        @intLen INT DECLARE

            @strRet nvarchar (4000) DECLARE

                @temp nvarchar (100)

            SET @intLen = len(@str)

            SET @strRet = 

            WHILE @intLen > 0

            BEGIN

            SET @temp =  SELECT

                @temp = CASE

            WHEN SUBSTRING (@str ,@intLen, 1) >= 帀 THEN

                Z

            WHEN SUBSTRING (@str ,@intLen, 1) >= 丫 THEN

                Y

            WHEN SUBSTRING (@str ,@intLen, 1) >= 夕 THEN

                X

            WHEN SUBSTRING (@str ,@intLen, 1) >= 屲 THEN

                W

            WHEN SUBSTRING (@str ,@intLen, 1) >= 他 THEN

                T

            WHEN SUBSTRING (@str ,@intLen, 1) >= 仨 THEN

                S

            WHEN SUBSTRING (@str ,@intLen, 1) >= 呥 THEN

                R

            WHEN SUBSTRING (@str ,@intLen, 1) >= 七 THEN

                Q

            WHEN SUBSTRING (@str ,@intLen, 1) >= 妑 THEN

                P

            WHEN SUBSTRING (@str ,@intLen, 1) >= 噢 THEN

                O

            WHEN SUBSTRING (@str ,@intLen, 1) >= 拏 THEN

                N

            WHEN SUBSTRING (@str ,@intLen, 1) >= 嘸 THEN

                M

            WHEN SUBSTRING (@str ,@intLen, 1) >= 垃 THEN

                L

            WHEN SUBSTRING (@str ,@intLen, 1) >= 咔 THEN

                K

            WHEN SUBSTRING (@str ,@intLen, 1) >= 丌 THEN

                J

            WHEN SUBSTRING (@str ,@intLen, 1) >= 铪 THEN

                H

            WHEN SUBSTRING (@str ,@intLen, 1) >= 旮 THEN

                G

            WHEN SUBSTRING (@str ,@intLen, 1) >= 发 THEN

                F

            WHEN SUBSTRING (@str ,@intLen, 1) >= 妸 THEN

                E

            WHEN SUBSTRING (@str ,@intLen, 1) >= 咑 THEN

                D

            WHEN SUBSTRING (@str ,@intLen, 1) >= 嚓 THEN

                C

            WHEN SUBSTRING (@str ,@intLen, 1) >= 八 THEN

                B

            WHEN SUBSTRING (@str ,@intLen, 1) >= 吖 THEN

                A

            ELSE

                rtrim(

                    ltrim(SUBSTRING(@str ,@intLen, 1))

                )

            END --对于汉字特殊字符,不生成拼音码

            IF (ascii(@temp) > 127)

            SET @temp =  --对于英文中小括号,不生成拼音码

            IF @temp = (

            OR @temp = )

            SET @temp =  SELECT

                @strRet = @temp + @strRet

            SET @intLen = @intLen - 1

            END RETURN upper(@strRet)

            END

使用:

SELECT dbo.fn_GetPy(这是个标量函数)

结果:

编程如此简单~~~

版权声明

所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除

上一篇:生成链接 下一篇:SQLServerProfiler看管