空日期資料補0

2021-10-07 23:16:50 字數 2223 閱讀 8268

1、背景

介面服務中一般對報表或者看板按照年、月維度求和需要對空的日期所對應的資料進行補0,以下是一些處理思路可供借鑑。

2、mysql查詢空日期補0用法

select

t1.day,

coalesce

(t2.cnt,0)

as cnt

from

(select

@cdate := date_add(

@cdate

,interval-1

day)

asday

from

(select

@cdate := date_add(curdate(),

interval+1

day)

from

sync_job

) tmp1

where

@cdate

> date_sub(curdate(),

interval

7day

)) t1

left

join

(select date_format(create_time,

'%y-%m-%d')as

day,

count(1

)as cnt from sync_job

where is_disable =

0and create_time >= date_sub(curdate(),

interval

7day

)group

by date_format(create_time,

'%y-%m-%d'

)) t2

on t1.

day= t2.

day--輸出

2020-07

-1002020-07

-0922020-07

-0812020-07

-0782020-07

-0622020-07

-0512020-07

-0402020-07

-033

3、**層面處理查詢空日期補0

以下是工具類:

public

final

static ******dateformat format =

new******dateformat

("yyyy-mm-dd");

public

final

static ******dateformat format2 =

new******dateformat

("yyyy-mm");

/** * 獲取日期差

** @param start

* @param end

* @return

* @throws exception

*/public

static

intgetdiffdays

(string start, string end)

throws exception

/** * 獲取過去指定天內的日期陣列

** @param intervals

* @return

*/public

static arraylist

getdays

(int intervals)

return pastdayslist;

}/**

* 獲取月份日期

** @param past

* @return

*/private

static string getpastdate

(int past)

/** * 獲取年月集合

** @param intervals

* @return

*/public

static set

getyearmonths

(int intervals)

return pastdayssets;

}/**

* 獲取年份日期

** @param past

* @return

*/private

static string getpastdate4month

(int past)

很簡單的用法,再此記錄下。

SQL語句獲得本年日期資料與本月日期資料

本年 select dateadd dd,number datename yy,getdate 0101 from master.spt values where type p andnumber datediff dd,datename yy,getdate 0101 datename yy,ge...

ORACLE插入日期資料

命令 insert into floor values to date 年 月 日 時 分 秒 yyyy mm dd hh24 mi ss 例子 在 sql plus 環境。當省略hh mi和ss對應的輸入引數時,oracle使用0作為default值。如果輸入的日期資料忽略時間部分,oracle會...

Oracle中插入日期資料

oracle中插入日期資料有幾種情況,主要是插入日期的精度的區別。但是這個提供的資料截止到年的時候,系統的月份會預設為當前的月份,日期為01,就是最後一條資料,今天是4月22日所以日期為04。insert into student values to date 2015 1 30 12 20 33 ...