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安全错误
数据库的锁怎样保障安全
android软件开发的项目
开源 大数据网络安全监控
万户网络安全手抄报
网络安全反思怎么写
阿里服务器域名
档案局网络安全信息审查机制
开放小区结构数据库
服务器机箱多少钱
数据库wrt
把数据库变成json
药房网络安全建设规划
网易邮箱大师总是服务器出错
免费视频服务器
戴尔服务器格式化硬盘
ibm 服务器raid
数据库运用技术
ddm 分布式数据库
王者荣耀服务器z
军人手机网络安全自查
服务器不连网 远程管理
服务器换了硬盘之后还是告警
服务器租用低价格
大学生网网络安全教育
王者服务器不显示登录过的区
新疆反恐维稳下的网络安全
服务器安全使用证书
数据库列出相关的关系模型
梁溪区绿色软件开发销售公司
会话内容存档服务器在线考试
怎么关闭阿贝云服务器