SQL: 获取本月1号到当前日期的天数据

假设我想获取从4月从1号到18号的每天:

 

SELECT to_char(to_date(to_char(to_date('2022-04-18', 'yyyy-mm-dd'),
                               'yyyymm'),
                       'yyyymm') + (ROWNUM - 1),
               'yyyy-mm-dd') day_id
FROM dual
CONNECT BY ROWNUM <=  to_number(to_char(to_date('2022-04-18', 'yyyy-mm-dd'), 'dd'));

执行效果:

如果你想获取月的1号到今天,就把上面的 '2022-04-18 '改成 TO_CHAR(SYSDATE,'YYYY-MM-DD') 即可。

运行TO_CHAR(SYSDATE,'YYYY-MM-DD')是获取当天的日期,并将结果以YYYY-MM-DD显示。

应用场景1:

select  A.day_id,NVL(B.value,0)  from  (
        SELECT  to_char(to_date(to_char(to_date( '2022-04-18', 'yyyy-mm-dd' ), 'yyyymm' ), 'yyyymm' ) + ( ROWNUM - 1 ), 'yyyy-mm-dd' ) day_id 
        FROM dual 
CONNECT BY ROWNUM <= to_number( to_char( to_date( '2022-04-18', 'yyyy-mm-dd' ), 'dd' ))) A

        left join (表) B on A.day_id = B.日期

最后的应用效果是:表B中有日期有的数据就显示数据,表B中没有的数据就显示0,用来绘制折线图是很可以的。


 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值