T-SQL---多值模糊查询的处理
发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,多值模糊查询的处理所谓多值模糊查询,就是应用程序中传递过来多个参数,对这些参数做拆分,拆分之后,对拆分结果的key值分别做模糊查询处理对于精确匹配时,不管是单个Key值还是多个Key值,都很容易处理,
千家信息网最后更新 2026年10月31日T-SQL---多值模糊查询的处理
多值模糊查询的处理
所谓多值模糊查询,就是应用程序中传递过来多个参数,对这些参数做拆分,拆分之后,对拆分结果的key值分别做模糊查询处理
对于精确匹配时,不管是单个Key值还是多个Key值,都很容易处理,备选方案也很多
对于模糊查询,单个key值也很容易,也就是 ……where name like '%parameter%'(不要告诉我全模糊效率低之类的,我这里不是做性能对比的)
但是对于多个Key值的模糊处理,就不是太直接了,比如name字段,输入'三,四,五',要求分别按照三,四,五三个字符做模糊匹配
多值模糊查询可以参考如下的方式处理,欢迎提供更好的办法,谢谢了
CREATE TABLE [dbo].[Student]( [S#] [varchar](50) NULL, [Sname] [varchar](50) NULL, [Ssex] [varchar](2) NULL)INSERT INTO Student VALUES (1,'张三',1)INSERT INTO Student VALUES (2,'李四',1)INSERT INTO Student VALUES (3,'王五',1)INSERT INTO Student VALUES (4,'赵六',1)INSERT INTO Student VALUES (5,'孙七',1)--精确匹配的话,不管是单值还是多值,都很好处理select * from Student where Sname in ('张三','李四')--单值模糊的好处理select * from Student where Sname Like '%五%'--多值模糊匹配,就没有这么直接了--所谓的多值模糊匹配,就是外面传递进来多个值,这些值差分开之后,每个值都做模糊查询--SQL既要写满足功能性需求,又要简明的清晰,一开始还想写函数什么玩意的,--后来想了想,可以这么处理;with CTENameas( --这是一个字符串拆分函数 select id,concat('%',s,'%') as name from dbo.f_splitStrToTable('四,五,六',','))select * from Studentwhere exists( select 1 from CTEName where Sname like name)--查询结果S# Sname Ssex2 李四 13 王五 14 赵六 1(3 row(s) affected)
处理
查询
多个
李四
精确
函数
单个
参数
字符
就是
结果
还是
张三
王五
简明
三个
也就是
办法
功能
功能性
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
广州万易互联网科技有限公司
互联网科技公司的优势
西安互联网科技
期待互联网科技
嘟嘟瓜互联网科技
米客互联网科技
互联网 新科技
银川新华互联网科技学校联系电话
民营互联网公司国防科技
互联网科技实习生岗位
皮皮虾互联网科技有限公司
富国互联网金融科技混合基金
互联网科技年终奖
广州有谷有贝互联网科技有限公司
东营紫格互联网科技
南京一网一红互联网科技有限公司
互联网公司属于科技吗
北京军民互联网科技公司
三亚科技创新互联网基地
互联网科技自媒体灵感
互联网科技公司怎么样
极限挑战互联网科技
猫创互联网科技
四川狮子座互联网科技
河南猎农互联网科技有限公司
语蝶互联网科技有限公司
畅思互联网科技
如何创新互联网科技
互联网科技大赛获奖感言
米泉互联网科技专业怎么样