Mega Code Archive

 
Categories / MySQL / Date Time
 

Performing Leap Year Calculations

mysql> mysql> CREATE TABLE date_val     -> (     ->  d       DATE     -> ); Query OK, 0 rows affected (0.01 sec) mysql> mysql> INSERT INTO date_val (d) VALUES('1864-02-28'); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO date_val (d) VALUES('1900-01-15'); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO date_val (d) VALUES('1987-03-05'); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO date_val (d) VALUES('1999-12-31'); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO date_val (d) VALUES('2000-06-04'); Query OK, 1 row affected (0.00 sec) mysql> mysql> mysql> SELECT d, YEAR(d) % 4 = 0     -> AS "rule-of-thumb test",     -> (YEAR(d) % 4 = 0) AND ((YEAR(d) % 100 != 0) OR (YEAR(d) % 400 = 0))     -> AS "complete test"     -> FROM date_val; +------------+--------------------+---------------+ | d          | rule-of-thumb test | complete test | +------------+--------------------+---------------+ | 1864-02-28 |                  1 |             1 | | 1900-01-15 |                  1 |             0 | | 1987-03-05 |                  0 |             0 | | 1999-12-31 |                  0 |             0 | | 2000-06-04 |                  1 |             1 | +------------+--------------------+---------------+ 5 rows in set (0.00 sec) mysql> mysql> drop table date_val; Query OK, 0 rows affected (0.00 sec) mysql>