存储过程中如何根据参数是否为空执行不同的select??
来源:互联网 发布:windows live id是什么 编辑:程序博客网 时间:2024/06/05 17:04
存储过程中如何根据参数是否为空执行不同的select??
假设表T1,其中有A1,A2,D1,D2等多个字段,A1,A2为varchar型,D1,D2为日期型。
传来四个参数,@A1,@A2,@D1,@D2,如果为空,则不必理会;如果不为空,则加到条件子句中。
如
@A1,@D1不空为,那么。
要执行select * from t1 where a1=@A1 and d1>=@D1
如果@A2,@D2不为空,则执行 select * from t1 where A2=@A2 and d2 <=@D2
当然,这四个参数是不固定有没有的,可能这次查询没有,下次查询就有了。
也可能同时都为空,那么就执行select * from t1即可。
请问这样的存储过程应该怎么写?
谢谢。
--这样应该就没问题了。
select * from tb
where A1=isnull(@A1,A1)
and A2=isnull(@A2,A2)
and D1=isnull(@D1,D1)
and D2=isnull(@D2,D2)
- 存储过程中如何根据参数是否为空执行不同的select??
- mysql数据库,存储过程中如何判断游标Cursor中结果集是否为空
- 存储过程中根据参数的空值与否拼接语句
- 如何设置SQl存储过程调用参数为空
- 如何判断存储过程中,T-SQL语句是否执行?
- Oracle存储过程中如何根据指定的参数判断该参数的值否存在数据表中:
- Oracle中存储过程执行大的Sql语句时如何查看sql是否正确
- SSRS 中判断参数是否为空
- MyBatis的JAVA类中,@Select中的sql根据条件执行不同的查询条件
- Android中SQLite的Cursor如何判断是否为空
- Android中SQLite的Cursor如何判断是否为空
- 存储过程,根据不同的类型调用存储过程
- mysql存储过程中根据传入参数,动态拼sql语句并且执行
- sql语句中如何根据不同的条件,执行不同的where条件
- Oracle存储过程判断字符是否为空
- mysql 存储过程 根据参数 动态执行sql语句
- SQL中如何获取存储过程用return返回的值与判断SQL事务是否执行成功?
- SQL中如何获取存储过程用return返回的值与判断SQL事务是否执行成功?
- Scriptaculous创始人作序推荐——《Ajax实战:Prototype与Scriptaculous篇》
- FOJ 1076 穿越沙漠
- LIFE
- 如果webBrowser自动跳出的窗体,请问让程序自动「重试」或「取消」?
- 如何让您的网站取得更好的搜索引擎排名
- 存储过程中如何根据参数是否为空执行不同的select??
- 关于重构(refactory)
- 数据库难题对话
- 想买一个包包,竟然搞成这样
- 制作可执行的JAR文件包以及jar命令详解
- 诺基亚E71 专用UCWEB 6.7
- 数据库设计中的范式
- 自制番茄炒蛋(图)
- HINSTANCE 、HANDLE 、CWnd、 HWND的区别?