Oracle自动补全日期,空数据为0
来源:互联网 发布:淘宝企业店铺 企业资质 编辑:程序博客网 时间:2024/05/17 23:52
1.问题描述
在数据库查询中计算年月周日的数据时候,会发现日期并不完整,希望日期可以自动补全,并且没有数据的字段补0
最开始的数据展现为如下图
select nvl(sum(synnum),0) value ,to_char(syntime, 'yyyy-MM-dd') lable from synlog where syntype in (4, 5,6) and trunc(syntime) > trunc(sysdate) - 30 group by to_char(syntime, 'yyyy-MM-dd') order by 2;最近30天数据查询出来只有2条数据,这并不是我想要得到的
2.具体实现
思路为:需要有一个最近30天的日期表,然后进行一个左关联,值为空即补0
最近一月日期表
select calendar_day from (select to_date((select to_char(sysdate , 'yyyy') from dual) || '0101', 'yyyymmdd') + level-1 as calendar_day from dual connect by level <to_char(to_date((select to_char(sysdate, 'yyyy') from dual) || '1231', 'yyyymmdd'), 'ddd'))where calendar_day>= trunc(sysdate) - 29 and calendar_day<trunc(sysdate)+1
3.最终实现
select a.calendar_day, nvl(b.value,0) as value from(select calendar_day from (select to_date((select to_char(sysdate+1 , 'yyyy') from dual) || '0101', 'yyyymmdd') + level - 2 as calendar_day from dual connect by level <=to_char(to_date((select to_char(sysdate+1, 'yyyy') from dual) || '1231', 'yyyymmdd'), 'ddd'))where calendar_day>= trunc(sysdate) - 29 and calendar_day<trunc(sysdate)+1) aleft join (select nvl(sum(synnum),0) value ,to_date( to_char(syntime, 'yyyymmdd'), 'yyyymmdd') lable from synlog where syntype in (4, 5, 6) and trunc(syntime) > trunc(sysdate) - 29 group by to_date( to_char(syntime, 'yyyymmdd'), 'yyyymmdd') )bon a.calendar_day = b.lable order by a.calendar_day
效果图:
阅读全文
0 0
- Oracle自动补全日期,空数据为0
- 补全日期范围并查询
- 最全日期控件
- 关于全日期的统计
- oracle 空为0
- 填报中自动计算为0数据如何显示为空
- Oracle 数字前面自动补0
- oracle中更新字符型数据中的纯数字为定长(不足左边补0)
- 删除一列数据,后一列的数据自动往前,最后一列自动补为null
- oracle返回固定条数的SQL,条数不足以空数据补齐的SQL
- 删除oracle的varchar型数据为空的语句
- oracle查询为空或null的数据
- js html 没填的数字自动补为0
- Oracle判断为空
- 如果数据为空用0表示
- json数据为空
- 数据为空 崩溃!!
- Oracle 将不足两位小数的自动补0
- beyondCompare试用期到期解决办法
- 小程序request请求PHP服务器session失效的解决,header头部加cookie
- phpcomposer安装
- java中的this
- mac下解压war包
- Oracle自动补全日期,空数据为0
- redis秒杀案例
- 【iOS】bugly进阶系列<序言>
- css整理 -- 右箭头,上下箭头,三角形
- Crontab 定时备份
- 《Python金融大数据分析》7.1.1 将对象写入磁盘
- 数字游戏
- JDBC java语言连接数据库
- 深度学习|卷积神经网络(CNN)介绍(前篇)