Mysql
 sql >> база данни >  >> RDS >> Mysql

MySQL Вземете списък с дати в месец, година

Ето решението на mysql/java за този въпрос.

СЪЗДАВАНЕ НА ТАБЛИЦА:

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;

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");
        }
    }

Получавам списъка с дати, използвайки този sql:

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

Надявам се някой да го използва :)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Експортирането на резултатите от заявката в MySQL Workbench над 1000 записа

  2. АКО Условие Изпълнете заявка, иначе Извършете друга заявка

  3. Форматиране на PHP масив за SQL IN клауза

  4. Не виждам веднага вмъкнатите данни от MySQL

  5. SQLAlchemy ПРИ АКТУАЛИЗИРАНЕ НА ДУБЛИРАН КЛЮЧ