51代码网ORACLEMYSQLSQL SERVER其它数据库java/jspasp/asp.netC/C++/VC++APP应用其它语言服务器应用
您现在的位置: 51代码网 >> 其它数据库 >> 文章正文

db2当查询时间为空时不作查询条件

更新时间:2012-3-11:  来源:51代码网

我有一个SQL查询
查询一个货物的发货时间
select * from order where timestamp('2010-01-18 00:00:00')<=order.sendtime
and order.sendtime<=timestamp('2012-01-18 23:59:59') and order.id = '001'

现在有这么一种情况
假如货物已经被拍下 但是卖家这还没发货 那么 发货时间就为空。
这个时候如果输入了任何参数也查不到任何数据
而我想让用户输入了参数  
但是在SQL里判断 如果这件宝贝的发货时间为空的话 就不执行 where后面对发货时间判断的语句
就相当于只执行了
select * from order where order.id = '001'
就相当于 如果该货物的发货时间为空 就只执行
select * from order 
select * from order
where order.id = '001'
  and ((
        timestamp('2010-01-18 00:00:00') <= order.sendtime
        and order.sendtime <= timestamp('2012-01-18 23:59:59'
       )
       or order.sendtime is null
      )
select * from order
where order.status in('b')
  and ((
        timestamp('2010-01-18 00:00:00') <= order.sendtime
        and order.sendtime <= timestamp('2012-01-18 23:59:59'
       )
       or order.sendtime is null      )

  • 上一篇文章:
  • 下一篇文章: 没有了
  • 赞助商链接
    推荐文章
  • 此栏目下没有推荐文章
  • {
    设为首页 | 加入收藏 | 友情链接 | 网站地图 | 联系站长 |