T-SQL---多值模糊查询的处理
发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,多值模糊查询的处理所谓多值模糊查询,就是应用程序中传递过来多个参数,对这些参数做拆分,拆分之后,对拆分结果的key值分别做模糊查询处理对于精确匹配时,不管是单个Key值还是多个Key值,都很容易处理,
千家信息网最后更新 2025年01月20日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安全错误
数据库的锁怎样保障安全
linux 服务器更新
腾云法智互联网科技有限公司
梦幻诛仙新服务器
计算机网络技术需要考取的证书
查看服务器硬盘数量的命令
大象数据库驱动
服务器php版本升级
服务器信息发送失败
广东省百望电子发票服务器地址
悦之缘网络技术有限公司在哪里
常州网络技术培训机构
中兴e5500连接不上服务器
dns服务器提示无法连接
当阳软件开发
数据库列的取值类型可以相同
计算机网络技术基础第五版笔记
扬州软件开发有哪些
数据库表可以设置几个主键
数据库中 是什么关系
中文科技期刊数据库
天津软件开发退税流程
服务器地址要怎么写
网络安全学习笔记文稿
软件开发项目管理的核心是
永安软件开发外包公司排名
高中周记网络安全
服务器fc
上海软件开发工作经验工资
当阳软件开发
凯里ibm服务器专卖