实现多条件模糊查询SQL语句
很多网友问到如何写模糊查询语句和多条件查询,这里我整理了一下,假设以姓名、性别、电话号...作为数据库中的字段名。
通常写一个简单的模糊查询的SQL语句格式可以如下例:
sql="select from 表名 where 字段名 like ’%" & request.form("请求变量") & "%’ " |
说明:1、WHERE 关键词的后面跟着用来过滤数据的条件,百分号%是通配符,可以代表多个任何字符,若是下划线_就代表一个任意字符。
实例如下:
sql="select from 表名 where 姓名 like ’%"&request.form("name")&"%’ and 性别 like ’%"&request.form("sex")&"%’ and 电话 like ’%"&request.form("call")&"%’ " |
上面这条SQL语句使用了三个模糊查询条件:姓名、性别、电话,当然我们还可以用类似
姓名 like ’%"&request.form("name")&"%’ |
的方式构造更多的条件。这样我们就实现了多条件的模糊查询,实际试一试,问题出来了!!!如果数据库的查询字段都有值的化没问题,但如果是下边这样:
姓名 性别 电话 www.DeepTeach.com 87654321 |
当你模糊查询:"电话:5432"时将无法输出该记录,这是因为"性别"无值所以经两个and运算后结果为false/0,没有输出。 显然数据库中这三个字段的必须含有字段值,否则会漏掉正确的输出结果,
数据库中正确的输入应是这样的:
姓名 性别 电话 www.DeepTeach.com null 87654321 |
<null>值的逻辑值为1,所以经两次and运算后结果为true/1,可以输出上述记录。
那么在实际中如何来实现这样的多条件模糊查询呢?我是这样来实现的:
name=Request.QueryString("name") ’姓名 sex=Request.QueryString("sex") ’性别 call=Request.QueryString("call") ’电话 Sql= "Select from 表名 where 1=1" ’1=1 避免所有查询字段为空时出错 if name <>"" then |
在此,你要注意到姓名、性别、电话这三个字段在数据库中的类型应为“文本”类型,否则查询时会出现“数据类型不匹配”错误。
如果三个条件均无输入,点击“查询”时将显示数据库中的所有记录,可能这是你不希望的,可以应该加入一个判断:当三个条件均无输入时,显示“请输入查询条件”,并中断输出到客户浏览器(response.end)例句如下:
if request.form("name")="" and request.form("sex")="" and request.form("call")="" then response.write("请输入查询条件(可模糊查询)") response.end end if |
切记:sql="select from 表名 where 姓名 ... 电话 like ... "
必须在一行内输入完,而不能用回车符分段,因为vbs多行被认为是多个语句,这是许多初写者常犯的错误。如果你想分多段写,可以用上面的方法在现有变量基础上逐步增加查询语句的各个组成部分并把它存在同一变量内实现。在封闭引号之前或者在打开引号之后你需要增加空格,这样才能保证字符串连接起来的时候你没有把几个词凑到了一块。
实现多条件模糊查询SQL语句相关推荐
- java中sql模糊查询_模糊查询的sql语句(java模糊查询sql语句)
模糊查询的sql语句(java模糊查询sql语句) 2020-07-24 11:06:02 共10个回答 假设表名为product,商品名为name,简界为remark.则可如下写:select[na ...
- sqlserver分页模糊查询sql语句
sqlserver分页模糊查询sql语句 <select id = "queryUserCount" resultType="int" >selec ...
- Mybatis模糊查询SQL语句
模糊查询 <sql id="where_case"><if test="username!=null and username != ''"& ...
- 模糊查询SQL语句 该怎么写
String sql = "SELECT * FROM food WHERE foodName LIKE ?"; return qr.query(sql, new BeanList ...
- 关于在xml文件中拼接模糊查询SQL语句问题
错误示例: SELECT * from patient_info where create_time LIKE %#{searchTime} 当searchTime输入2021-03-21时,这样输出 ...
- PHP多条件模糊查询代码查询,PHP多条件模糊查询
所使用的方法:$sqlArr=array();array_push();implode(); 原理, 一.建立sql语句前半句,并且建立一个空数组. 二.根据条件是否为空来判断是否向数组中添加元素.如 ...
- 拼接sql语句,实现多条件模糊查询
如图所示 sql拼接,多条件模糊查询 dao层代码 public List<Product> findBy(String name, String keywords) throws SQL ...
- oracle模糊查询like语句,sql语句select like模糊查询用法
本节内容: sql语句之select like模糊查询语法 1,like语句的语法格式是:select * from 表名 where 字段名 like 对应值(子串),它主要是针对字符型字段的,它的 ...
- mongoose多条件模糊查询实例
mongoose多条件模糊查询 这是今天手头项目中遇到的一个问题,关于mongoose如何实现类似于SQL中 nick LIKE '%keyword%' or email LIKE '%keyword ...
最新文章
- c语言程序填空打印出1 1000,计算机应用类专业综合复习试题(一)
- SQL Server DBA常见面试 笔试问题
- 软件开发中 前台、中台、后台英文_中台产品那些事儿-啥是中台
- sudo: pip:找不到命令
- 小白科普:Netty有什么用?【转载】
- 读书笔记--《Understanding LSTM Networks》
- activiti 流程文件存哪里_JAVA-工作流引擎-activiti-Tasks介绍
- 程序员该面向运维,还是面向开发?
- 500 OOPS: cannot change directory:/home/xxx”
- kafka-windows10中测试使用
- 201771010112罗松《面向对象程序设计(java)》第一周学习总结
- cors数据类型_CORS账号和南方RTK连接怎样操作使用?步骤说明
- 学大数据一定要会Java开发吗?
- 使用word写论文必备技巧(设置目录,目录导航)
- 天猫精灵控制Zigbee设备
- 2000-2013年工企专利匹配数据库
- 【无标题】vue使用eslint报错 1:1 error Parsing error: Unexpected token < Parsing error: The keyword ‘impo
- 【计算机毕业设计】旅游网站源码
- RF(四则运算及 Evaluate 用法)
- fanuc机器人试题_FANUC机器人报警综合汇总