SQL 截取成对符号间 且包含指定关键字的内容
截取两个“|”之间 包含 @key 关键字的 内容,用于字符串的分段截取
/* 截取两个‘|’内,并且包含关键字@key的字符串 */ Create function [dbo].[getStrByKey](@v nvarchar(200),@ key nvarchar(100)) returns nvarchar(200) as begin declare @re nvarchar(200) set @re= '' --起始位置 declare @bg int set @bg=0 --结束位置 declare @ed int set @ed=0 while(@v!= '' ) begin --第一个|的位置 select @bg=patindex( '%|%' ,@v) --第二个|的位置 select @ed=patindex( '%|%' , SUBSTRING (@v,@bg+1,LEN(@v))) if @ed=0 or @bg=0 begin return '' end --@bg和@ed位置中间的字符串内容 set @re= substring (@v,@bg,@ed) --判断是否包含@key if charindex(@ key ,@re)>0 begin set @v= '' end else begin --继续从上面截取位置后的字符串开始查询 set @v= SUBSTRING (@v,@bg+@ed,len(@v)) set @re= '' end end return @re end |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET 9 new features-C#13新的锁类型和语义
· Linux系统下SQL Server数据库镜像配置全流程详解
· 现代计算机视觉入门之:什么是视频
· 你所不知道的 C/C++ 宏知识
· 聊一聊 操作系统蓝屏 c0000102 的故障分析
· DeepSeek V3 两周使用总结
· 回顾我的软件开发经历(1)
· C#使用yield关键字提升迭代性能与效率
· 低成本高可用方案!Linux系统下SQL Server数据库镜像配置全流程详解
· 4. 使用sql查询excel内容