Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

MySQL Nhận danh sách các ngày trong tháng, năm

Đây là giải pháp mysql / java cho câu hỏi này.

TẠO THỐNG KÊ BẢNG:

CREATE TABLE `date_table` (
  `ID` bigint(20) NOT NULL AUTO_INCREMENT,
  `date` date NOT NULL,
  PRIMARY KEY (`ID`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;

Mã Java:

public static void main(String[] args) throws ClassNotFoundException, SQLException {
        Database db = new Database("root", "root01", "test-db", "10.10.5.11");
        db.connect();
        int start_year = 2013;
        int end_year = 2100;
        for (int year = start_year; year < end_year; year++) {
            for (int month = 1; month <= 12; month++) {
                int days_in_month = 0;
                switch (month) {
                    case 1: { //January
                        days_in_month = 31;
                        break;
                    }
                    case 2: { //February
                        if (year % 4 == 0) {
                            days_in_month = 29;
                        } else {
                            days_in_month = 28;
                        }
                        break;
                    }
                    case 3: { //March
                        days_in_month = 31;
                        break;
                    }
                    case 4: { //April
                        days_in_month = 30;
                        break;
                    }
                    case 5: { //May
                        days_in_month = 31;
                        break;
                    }
                    case 6: { //June
                        days_in_month = 30;
                        break;
                    }
                    case 7: { //July
                        days_in_month = 31;
                        break;
                    }
                    case 8: { //August
                        days_in_month = 31;
                        break;
                    }
                    case 9: { //September
                        days_in_month = 30;
                        break;
                    }
                    case 10: { //October
                        days_in_month = 31;
                        break;
                    }
                    case 11: { //November
                        days_in_month = 30;
                        break;
                    }
                    case 12: { //December
                        days_in_month = 31;
                        break;
                    }
                }
                for (int day = 1; day <= days_in_month; day++) {
                    db.executeInsert("INSERT INTO date_table (date) VALUES ('" + year + "-" + month + "-" + day + "');");
                }
            }
            System.out.println("YEAR: " + year + " FINISHED");
        }
    }

Tôi nhận được danh sách các ngày bằng cách sử dụng sql này:

SELECT * FROM date_table WHERE YEAR(date) = 2014 AND MONTH(date) = 2;

Mong ai đó sử dụng nó :)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. GROUP BY - không nhóm NULL

  2. Quên mật khẩu script PHP mysqli

  3. Thiết kế cơ sở dữ liệu MySQL cho một danh sách các dịch vụ

  4. Xử lý múi giờ trong PHP và MySQL

  5. Câu lệnh Java Prepared không thực thi