SQL小技巧一拼音首字母的模糊查询
创建函数,把中文字段翻译成拼音缩写,例如“你好”翻译成“NH”
SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE FUNCTION [dbo].[fun_GetPy](@str NVARCHAR(4000)) RETURNS NVARCHAR(4000) AS BEGIN DECLARE @strlen INT,@re NVARCHAR(4000) DECLARE @t TABLE(chr NCHAR(1) COLLATE Chinese_PRC_CI_AS,letter NCHAR(1)) INSERT INTO @t(chr,letter) SELECT '吖 ', 'A ' UNION ALL SELECT '八 ', 'B ' UNION ALL SELECT '嚓 ', 'C ' UNION ALL SELECT '咑 ', 'D ' UNION ALL SELECT '妸 ', 'E ' UNION ALL SELECT '发 ', 'F ' UNION ALL SELECT '旮 ', 'G ' UNION ALL SELECT '铪 ', 'H ' UNION ALL SELECT '丌 ', 'J ' UNION ALL SELECT '咔 ', 'K ' UNION ALL SELECT '垃 ', 'L ' UNION ALL SELECT '呒 ', 'M ' UNION ALL SELECT '拏 ', 'N ' UNION ALL SELECT '噢 ', 'O ' UNION ALL SELECT '妑 ', 'P ' UNION ALL SELECT '七 ', 'Q ' UNION ALL SELECT '呥 ', 'R ' UNION ALL SELECT '仨 ', 'S ' UNION ALL SELECT '他 ', 'T ' UNION ALL SELECT '屲 ', 'W ' UNION ALL SELECT '夕 ', 'X ' UNION ALL SELECT '丫 ', 'Y ' UNION ALL SELECT '帀 ', 'Z ' SELECT @strlen=LEN(@str),@re= ' ' WHILE @strlen> 0 BEGIN SELECT TOP 1 @re=letter+@re,@strlen=@strlen-1 FROM @t a WHERE chr <=SUBSTRING(@str,@strlen,1) ORDER BY chr DESC IF @@rowcount=0 SELECT @re=SUBSTRING(@str,@strlen,1)+@re,@strlen=@strlen-1 END RETURN(@re) END GO
执行函数如下图:
分类:
SQL Server
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
2017-11-13 jquery.lazyload插件实现图片延迟加载详解