SQL Server中如果查询条件为空,则查询全部,如何实现?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL Server中如果查询条件为空,则查询全部,如何实现?相关的知识,希望对你有一定的参考价值。
如题如何实现?有相关教程有相关教程最好。
DECLARE @update DATETIMESELECT * FROM A
WHERE @updata=0 OR CreateTime>@update
稍微解释一下思路,当传入参数=0是,就是全部,因为肯定是成立的,如果是其他值则走后面的条件查询,这种是最简单的实现,其他类型的参数相信你可以举一反三。
参考技术A 假设 @c 是条件,则可以这样:if @c is null or @c = ''
select * from table_name
else
select * from table_name where column_name = @c 参考技术B 查询条件为空 自然是查询全部啊........
语句 select * from A where 1=1
条件语句 任意, 只需要and开头即可. 参考技术C 通常如果条件很短很少,可以用if else写几组语句来做
如果条件很多的话就采用字符拼接执行 参考技术D declare @where
declare @sql
set @sql='select * from 表 '
if @where is null or @where =''
begin
@sql=@sql+@where
end
exec(@sql)
ORACLE查询条件为空,则跳过该条件。
比如说我要按性别进行查询,如果性别为空的时候,则查询不受性别约束
参考技术A where sex='女' or sex is null 这样是查出性别为女或者性别为空的数据吧。我理解是这样:
Select * from table where sex = (case when nvl(条件, '*') = '*' then sex else 条件 end);
这样的话,传入是“女”,就是查询 sex=“女”,传入的是空,则查询全部。
oracle 9i测试通过本回答被提问者采纳 参考技术B WHERE GANDER=NVL(条件,GANDER) 参考技术C where nvl(sex,'男')='男'
where nvl(sex,'女')='女'
这样就可以了 参考技术D where sex='女' or sex is null 这样可以的啊
以上是关于SQL Server中如果查询条件为空,则查询全部,如何实现?的主要内容,如果未能解决你的问题,请参考以下文章