zoukankan      html  css  js  c++  java
  • SQL中文转拼音

    使用下方的函数..

    忘了从哪抄的了..留存一份

    如果只要首字母..建议将数据  Left(tableFiled,1) 后传入函数

    如果字段是空或者null, 不会报错..返回空

    方法体: 

    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    CREATE FUNCTION [dbo].[F_SYS_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

    GO
  • 相关阅读:
    ubuntu--基础环境瞎搞集合
    java _tomcat_mysql 部署
    简单Dp----最长公共子序列,DAG最长路,简单区间DP等
    大素数判断和素因子分解(miller-rabin,Pollard_rho算法)
    ssh 命令
    linux服务器上设置多主机头,设置多web站点
    getline()函数
    SGU[118] Digital Root
    SGU[117] Counting
    SGU[104] Little shop of flowers
  • 原文地址:https://www.cnblogs.com/iiwen/p/10223949.html
Copyright © 2011-2022 走看看