日期:2014-05-16  浏览次数:20628 次

DB2报表查询参数为空时的写法

参数为空取全部数据的几种用法

当输入参数为空时要取全部数据通常是在sql写语句 id=? or ? is null形式,但是有几种情况这种方法并不适用。
(一)sql语句用in(?)形式,如果写id in (?) or ? is null,如果输入多个参数时会报语法错误。
解决办法:
sql语句写成 SELECT * FROM test2 where id in (?) or ?=’!EOF’,然后在对应的第二个参数处写if(arg1==null,”!EOF”,”!EMF”)即可。
(二) informix数据库不支持 id=? or ? is null语法,同样sql中写 id=? or ?=’!EOF’, 然后在对应的第二个参数处写if(arg1==null,”!EOF”,”!EMF”)即可。
(三) DB2数据库不支持 id =? or ? is null语法。
解决方法同第二种方法。