sql 多条件查询的一种简单的方法

sql 多条件查询的一种简单的方法
以后我们做多条件查询,一种是排列结合,另一种是动态拼接SQL
如:我们要有两个条件,一个日期@addDate,一个是@name
第一种写法是
if (@addDate is not null) and (@name <> '')
select * from table where addDate = @addDate and name = @name
else if (@addDate is not null) and (@name ='')
select * from table where addDate = @addDate 
else if(@addDate is  null) and (@name <> '')
select * from table where and name = @name
else if(@addDate is  null) and (@name = '')
select * from table 
第二种就是动态组成SQL,通过exec来执行,我就不写,
昨天我想到一种办法
select * from table where (addDate = @addDate or @addDate is null) and (name = @name or @name = '')
结果一调试,成功,
一点想法,有更好方法的,请指教!~

时间: 2024-10-27 07:08:18

sql 多条件查询的一种简单的方法的相关文章

SQL 多条件查询几种实现方法详细介绍

SQL 多条件查询 以后我们做多条件查询,一种是排列结合,另一种是动态拼接SQL 如:我们要有两个条件,一个日期@addDate,一个是@name 第一种写法是 if (@addDate is not null) and (@name <> '') select * from table where addDate = @addDate and name = @name else if (@addDate is not null) and (@name ='') select * from t

SQL 多条件查询几种实现方法详细介绍_MsSql

SQL 多条件查询 以后我们做多条件查询,一种是排列结合,另一种是动态拼接SQL 如:我们要有两个条件,一个日期@addDate,一个是@name 第一种写法是 if (@addDate is not null) and (@name <> '') select * from table where addDate = @addDate and name = @name else if (@addDate is not null) and (@name ='') select * from t

sql多条件查询,如何高效组合多个条件

问题描述 sql多条件查询,如何高效组合多个条件 我想查询数据库,是条件查询,但是这个条件有可能比较多,比如有几百个条件,如何写一条sql语句能高效查询数据库中满足这些条件的数据呢? 例如,我想查询userid字段为a,b,c,d--等人的数据,这样写sql感觉效率很低 select * from TABLE where USERID=a or USERID= b or USERID=c-- 有什么方法能比较好的满足查询要求呢? 解决方案 用in不能实现吗?比如 select * from TA

几种简单的方法提高迅雷下载速度

迅雷使用的多资源超线程技术基于网格原理,能够将网络上存在的服务器和计算机资源进行有效的整合,构成独特的迅雷网络,通过迅雷网络各种数据文件能够以最快的速度进行传递. 多资源超线程技术还具有互联网下载http://www.aliyun.com/zixun/aggregation/13996.html">负载均衡功能,在不降低用户体验的前提下,迅雷网络可以对服务器资源进行均衡,有效降低了服务器负载. 07年9月,迅雷完全支持电骡下载,其最大的特点就是下载速度快,同时还支持更多的智能功能.事实上,

JavaScript数值千分位格式化的两种简单实现方法_javascript技巧

在对数值进行格式化的时候,一个常见的问题是按照千分位格式化,网上对这个问题已经有很多种解决方法了,还可以利用Array.prototype.reduce方法来实现千分位格式化. function formatNumber(num) { if (isNaN(num)) { throw new TypeError("num is not a number"); } var groups = (/([\-\+]?)(\d*)(\.\d+)?/g).exec("" + nu

SQL多条件查询,模糊查询,模糊多条件查询

临近毕业答辩,最近老有同学问多条件查询,模糊查询其实没那么复杂.别想的复杂了. 在企业应用程序开发中经常遇到,查询数据库的时候,查询的where条件可能不止一个,可能没有条件,也有可能至少一个或者多个条件,遇到这种情况,今天看到论坛上有人用C#的 if 语句拼接,这样解决可以是可以,不过显得太过累赘也没有必要,其实,一句固定的 sql 语句句型即可解决:  关于多条件查询 select * from t where (a = @a or @a is null) and (b = @b or @b

[技术点]SQL 多条件查询

网上有不少人提出过类似的问题:"看到有人写了WHERE 1=1这样的SQL,到底是什么意思?".其实使用这种用法的开发人员一般都是在使用动态组装的SQL.让我们想像如下的场景:用户要求提供一个灵活的查询界面来根据各种复杂的条件来查询员工信息,界面如下图: 界面中列出了四个查询条件,包括按工号查询.按姓名查询.按年龄查询以及按工资查询,每个查询条件前都有一个复选框,如果复选框被选中,则表示将其做为一个过滤条件.比如上图就表示"检索工号介于DEV001和DEV008之间.姓名中含

C# SQL多条件查询拼接技巧

本文转载:http://blog.csdn.net/limlimlim/article/details/8638080 #region 多条件搜索时,使用List集合来拼接条件(拼接Sql) StringBuilder sql = new StringBuilder("select * from PhoneNum"); List<string> wheres = new List<string>(); if (cboGroup.SelectedIndex !=

SQL重复记录查询的几种方法_MsSql

1.查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断 复制代码 代码如下: select * from peoplewhere peopleId in (select   peopleId from   people group by   peopleId having count (peopleId) > 1) 2.删除表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断,只留有rowid最小的记录 复制代码 代码如下: delete from peop