在一个SQL语句中的WHERE条件语句中能否做到如一个参数为真时就加一个相应的条件,参数为假时加另外一个相应的条件。
如:存储过程proc_OperOut:
CREATE PROCEDURE proc_OperOut @StrNum Bit
AS
select id,name,Num from dataprod
where (id <> 0)我想如果参数@StrNum为真时在where语句中加一个(Num > 0)条件,如果参数@StrNum为假时在where语句中加一个((Num >0)OR(Num < 1000))条件。各位高手,请请帮在下一忙。谢谢各位了!!!
如:存储过程proc_OperOut:
CREATE PROCEDURE proc_OperOut @StrNum Bit
AS
select id,name,Num from dataprod
where (id <> 0)我想如果参数@StrNum为真时在where语句中加一个(Num > 0)条件,如果参数@StrNum为假时在where语句中加一个((Num >0)OR(Num < 1000))条件。各位高手,请请帮在下一忙。谢谢各位了!!!
解决方案 »
- FileOpen总是等于-1的问题
- 急!拜读了李维《Delphl5.x ADO/MTS/COM+高级程序设计篇》大作,毕竟是很久以前的书,请问最新的COM+书籍有哪些?
- 各位大侠,怎样设计这个数据库??难难难啊~~~~~~
- 如何做?
- 打印位置偏移,如何解决?
- 各位高手,本人刚刚学delphi,一个问题!你们肯定会!请说明一下!
- 如何向数据库(access)追加jpg文件?
- 关于WINDOWS 98 开始图形菜单的设计问题???
- 刚从VB转delphi,请问delphi有没有类似VB的Shell函数 [运行外部程序并返回PID]
- 请问有谁知道在office下曾有个程序可以把我现在屏幕上的操作录制下来.那个程序的文件名是什么?放在哪儿?谢谢!
- 救命呀,我用Query1连接Oracle出错了怎么办
- 怎么使一个窗口不能被最大化?怎么使窗口打开时处于屏幕中央?
AS
if @StrNum
select id,name,Num from dataprod
where (id <> 0) and Num>0
else
select id,name,Num from dataprod
where (id <> 0) and ((Num >0)OR(Num < 1000))
begin
select ... where Num > 0
end
Else
begin
Select ... where (Num >0) OR (Num < 1000)
End
where (@strNum = 1 and (Num > 0) or (@strNum = 0 and ((Num >0) OR (Num < 1000)))