我建立了一张表bwl 字段如下 bwlbh bwlnr txsj txsj是日期类型 
我想写一条sql语句 内容是 查询今天明天后天的数据 
我是这样写的
select * from BWL where txsj =(to_char(SYSDATE+3,'YYYY-MM-DD'))
可是这个这是能查询25号的数据 
由于刚刚初学Oracle 不知道怎么写了 
请各位指教一番 最好把sql语句写出来谢了 

解决方案 »

  1.   


    select 
    NVL(SUM(CASE WHEN  txsj =(to_char(SYSDATE-1,'YYYY-MM-DD')) 
                         THEN
                        1
                       ELSE
                        0
                     END),
                 0) yesterday, --昨天
                 NVL(SUM(CASE WHEN  txsj =(to_char(SYSDATE,'YYYY-MM-DD')) 
                         THEN
                        1
                       ELSE
                        0
                     END),
                 0) today, --今天
                 NVL(SUM(CASE WHEN  txsj =(to_char(SYSDATE+1,'YYYY-MM-DD')) 
                         THEN
                        1
                       ELSE
                        0
                     END),
                 0) tomorrow,--明天
      from BWL;            
      

  2.   

    这个是我写的也能够实现 但是太麻烦了 我想找一个比较简单点的 select * from BWL where txsj =(to_char(SYSDATE+3,'YYYY-MM-DD')) OR txsj =(to_char(SYSDATE+2,'YYYY-MM-DD')) OR txsj =(to_char(SYSDATE+1,'YYYY-MM-DD')) OR txsj =(to_char(SYSDATE,'YYYY-MM-DD'))  
      

  3.   


    select * 
    from BWL 
    where txsj between to_char(sysdate-1,'yyyy-mm-dd') and to_char(sysdate+1,'yyyy-mm-dd')
      

  4.   

    如果要查询每天的数量和 加个字段就可以了select txsj ,sum(bwlnr) bwlnr
    from BWL 
    where txsj between to_char(sysdate-1,'yyyy-mm-dd') and to_char(sysdate+1,'yyyy-mm-dd')
    group by txsj
    order by txsj
      

  5.   

    哥~oracle有个decode函数可以帮你。
    基本语法:DECODE的语法:DECODE(value,if1,then1,if2,then2,if3,then3,...,else),表示如果value等于if1时,DECODE函数的结果返回then1,...,如果不等于任何一个if值,则返回else。可以用函数或表达式来替代value,if,then,else从而作出一些更有用的比较。
    现在来看你的问题:
    alter session set nls_date_format='yyyy-mm-dd';
    select decode(to_date(sysdate+3,'yyyy-mm-dd')-to_date(sysdate,'yyyy-mm-dd'),3,b.* 后天数据,b.* 今天的数据) from BWL b;
    要是想显示明天就再加个decode的便可以了。
    ps:其实你的问题非常值得研究哦。因为,要是这三天不在同一个月,当如何算?不在同一年,当如何?有闰年了,又当如何?在二月份,又该如何?哈哈扯多了,你有兴趣可以去研究一下哈。嗯嗯。。