最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

postgresql查詢每個月的最后一天日期并對未查到的日期結(jié)果補0(操作示例)

 更新時間:2023年10月08日 14:46:38   作者:誰不想飛舞青春  
這篇文章主要介紹了postgresql查詢每個月的最后一天日期,并對未查到的日期結(jié)果補0,pgsql需要使用函數(shù)使用date_trunc()函數(shù)找到指定月第一天,然后對該日期先加一個月在減一個月就能得到你傳給的日期的最后一天日期,感興趣的朋友跟隨小編一起看看吧

postgresql查詢每個月的最后一天日期,并對未查到的日期結(jié)果補0 

說明

遇到了一個需求,需要查詢每個月月底的最后一天數(shù)據(jù),并對未查到的日期結(jié)果補0。

pgsql需要使用函數(shù)如下

使用date_trunc()函數(shù)找到指定月第一天

然后對該日期先加一個月在減一個月就能得到你傳給的日期的最后一天日期

然后在使用generate_series()函數(shù):你發(fā)現(xiàn)這樣寫不能得到自己的期望結(jié)果,有些日期不準確。

最后generate_series()函數(shù)結(jié)合date_trunc()函數(shù)就能達到期望結(jié)果:

select to_char((select date_trunc('month',date(t))+interval '1 month'- interval '1 day'),'yyyy-MM-dd') date
from generate_series('2021-06-30'::date,'2022-05-31'::date,'1 month') t

然后再將日期與你需要查詢的表的日期相關聯(lián),使用coalesce(字段,0)函數(shù)對值為空進行補0操作,就能查詢出你期望的結(jié)果。

實現(xiàn)

在實際開發(fā)中只需要將2個日期2021-06-30和2022-05-31換成對應的開始日期參數(shù)和結(jié)束日期參數(shù),那么這個統(tǒng)計結(jié)果就是符合期望的結(jié)果的了。

SELECT a.time,COALESCE(b.counts,0) as counts from
(
SELECT
to_char((select date_trunc('month',date(t))+interval '1 month'- interval '1 day'),'yyyy-MM-dd') time
FROM
generate_series('2021-06-30'::date,'2022-05-31','1 month') t
GROUP by time 
ORDER BY time
) as a
LEFT JOIN
(
select to_char(starttime,'yyyy-MM-dd') AS starttime, count(starttime) AS counts 
from rnodbv2.v2_m_ctest_log_info
--where to_char(starttime,'yyyy-MM-dd')>='2021-06-30' and to_char(starttime,'yyyy-MM-dd')<='2022-05-31'
GROUP BY to_char(starttime,'yyyy-MM-dd')
) as b
on a.time=b.starttime
order by a.time

結(jié)果如下:

到此這篇關于postgresql查詢每個月的最后一天日期并對未查到的日期結(jié)果補0(操作示例)的文章就介紹到這了,更多相關postgresql查詢每個月的最后一天日期內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

最新評論

灌阳县| 青浦区| 浙江省| 望都县| 论坛| 平乐县| 东台市| 扎囊县| 远安县| 读书| 自治县| 六安市| 科尔| 远安县| 汶川县| 陈巴尔虎旗| 陆河县| 汾阳市| 云和县| 泸定县| 海淀区| 南城县| 成安县| 通榆县| 荥经县| 岚皋县| 通化县| 绥滨县| 阿鲁科尔沁旗| 德州市| 嘉鱼县| 绥宁县| 伊川县| 宜阳县| 辉县市| 长垣县| 郸城县| 灵山县| 临沂市| 昌图县| 漠河县|