mysql創建日期表


轉自:http://blog.csdn.net/guge907/article/details/27170953

今天遇到一個需求是要統計投訴商品數量折線圖的 需要以日期為維度來統計 如果數據沒了就顯示0 但是要把日期顯示出來
由於沒有找到mysql生產兩個日期間所有日期的函數 故建立此表

CREATE TABLE date_table (
        rep_date date NOT NULL,                  //日期,如‘2014-05-07’
        rep_year int(8) DEFAULT NULL,                 //年,如2014
        rep_month int(8) DEFAULT NULL,              //月,如5
        rep_day int(8) DEFAULT NULL,                 //日,如7
        rep_week int(8) DEFAULT NULL,             //周,一年約52周,‘2014-05-07’是第19周
        PRIMARY KEY (rep_date)
        )
        CREATE PROCEDURE getAllDate()
        BEGIN
        DECLARE count INT DEFAULT 0;
        DECLARE startDay DATE DEFAULT DATE(NOW());
        DECLARE endDay DATE DEFAULT DATE(NOW());
        WHILE count<365 DO
        INSERT INTO date_table(rep_date,rep_year,rep_month,rep_day,rep_week) VALUES (startDay,YEAR(startDay),MONTH(startDay),DAY(startDay),WEEKOFYEAR(startDay));
        SET count=count+1;
        SET startDay=DATE_ADD(DATE(NOW()),INTERVAL count DAY);
        SET endDay=DATE_SUB(DATE(NOW()),INTERVAL count DAY);
        INSERT INTO date_table(rep_date,rep_year,rep_month,rep_day,rep_week) VALUES (endDay,YEAR(endDay),MONTH(endDay),DAY(endDay),WEEKOFYEAR(endDay));
        END WHILE;
        END
        CALL getAllDate();


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM