T-SQL---多值模糊查询的处理
发表于:2025-02-23 作者:千家信息网编辑
千家信息网最后更新 2025年02月23日,多值模糊查询的处理所谓多值模糊查询,就是应用程序中传递过来多个参数,对这些参数做拆分,拆分之后,对拆分结果的key值分别做模糊查询处理对于精确匹配时,不管是单个Key值还是多个Key值,都很容易处理,
千家信息网最后更新 2025年02月23日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安全错误
数据库的锁怎样保障安全
慢淋数据库
dell 服务器硬盘保修
x站服务器
知网数据库的导航有哪些
360网络安全招聘
深圳依帮网络技术有限公司怎么样
数据库讨论结果
ps属于应用技术还是网络技术
网络安全信息网络技术
mc服务器设置多个管理员
浙江无线网络技术管理系统
网络安全审计 翻译
用qq登陆的原神是什么服务器
长岭天气预报软件开发
数据库判断当天是星期几
安卓软件开发研究背景
可以染发的手机软件开发
软件开发与计算机的关系
驱动软件开发工程师
怎么修改数据库的时间戳
网络安全威慑能力
济宁商城软件开发解决方案
长三角网络安全管理
保定APP软件开发招聘
东软网络安全视频号
济南市网络安全和信息化委员会
数据库技术是20世纪
香港服务器挖矿安全吗
网络安全的报纸
中兴软件开发工程师月薪