业务需求,查询某一年某月的
AQI
(空气质量指数),前端根据返回数据,生成日历。
从数据库中查询到的AQI
监测数据缺失或者日期不连续 ,而需要返回给前端的数据格式为:
[ { "day": "01", "aqi": "55" }, { "day": "02", "aqi": "142" }, ... ... { "day": "30", "aqi": "42" }, { "day": "31", "aqi": "33" } ]
于是想到了生成一个月份天数那种表(列名为
day
,值为当前月天数号码),与业务查询结果做join
查询应该可以解决问题。但是在上面过程中,发现控制某年某月天数需要在trunc
函数中传参数(类似yyyymm
这种格式),又鉴于查询语句写在.yml
文件中,参数传递只能传入到where
子句中。所以,实际项目代码又为了简便,耍了点滑。
1.查询当前系统日期,一般做法是:
select sysdate from dual;
查询结果为:
2.若查询当天前后日期,如查询昨天日期格式: