sqlserver 获取汉字拼音的首字母(大写)函数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | USE [test] GO /****** 对象: UserDefinedFunction [dbo].[GetFirstChar] 脚本日期: 02/22/2019 16:39:06 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO --创建中文截取字符函数 ALTER FUNCTION [dbo].[GetFirstChar](@ChineseString NVARCHAR(4000)) RETURNS NVARCHAR(4000) AS BEGIN DECLARE @SingleCharacter NCHAR(1), @ReturnString NVARCHAR(4000) SET @ReturnString = '' WHILE LEN(@ChineseString)>0 BEGIN --依次取单个字符 SET @SingleCharacter = LEFT(@ChineseString,1) ----汉字字符,返回字符对应首字母,非汉字字符,返回原字符 IF(UNICODE(@SingleCharacter) BETWEEN 19968 AND 19968+20901) SET @ReturnString = @ReturnString + (SELECT TOP 1 PY FROM (SELECT 'A' AS PY,N '骜' AS ChineseCharacters 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 '咗' )SpellingTable where ChineseCharacters > = @SingleCharacter COLLATE Chinese_PRC_CS_AS_KS_WS ORDER by PY ASC) ELSE SET @ReturnString = @ReturnString + @SingleCharacter SET @ChineseString = RIGHT(@ChineseString,LEN(@ChineseString)-1) END RETURN @ReturnString END |
执行
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?