T-SQL---多值模糊查询的处理
发表于:2024-11-24 作者:千家信息网编辑
千家信息网最后更新 2024年11月24日,多值模糊查询的处理所谓多值模糊查询,就是应用程序中传递过来多个参数,对这些参数做拆分,拆分之后,对拆分结果的key值分别做模糊查询处理对于精确匹配时,不管是单个Key值还是多个Key值,都很容易处理,
千家信息网最后更新 2024年11月24日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安全错误
数据库的锁怎样保障安全
今日服务器的管理
山东省油灯互联网科技有限公司
区块链数据库技术
北京互联网软件开发如何收费
广州羿资互联网科技有限公司座机
mcgs 配方数据库
域名根服务器有必要吗
生物技术产业专题数据库
查询共有多少个班级用数据库
软件开发行业税额抵扣
甘肃新一代网络技术服务经验丰富
网络安全保险宣传语
郑州汇智互联网科技有限公司
徐州市网络安全监管部门电话
苹果和intel服务器
移动手机营业厅数据库连接异常
网络安全系统外文参考文献
如何保证系统的网络安全性
服务器返回的图片验证码破解
战地五怎么筛选服务器
舞龙网络技术咨询
软件开发的参考文档
小学学校网络安全检查表
贵州软件开发涉密信息系统集成
数据库职位要求情况
企业内部服务器算私有云吗
公安部门网络安全工作规定
手机资源服务器故障
服务器安全狗is
淘宝账号链接服务器中断