Mega Code Archive

 
Categories / MySQL / Date Time
 

WHERE clause uses only part of the date column in the comparisons

mysql> mysql> CREATE TABLE date_val     -> (     ->  d       DATE     -> ); Query OK, 0 rows affected (0.00 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> SELECT d FROM date_val WHERE YEAR(d) >= 1987 AND YEAR(d) <= 1991; +------------+ | d          | +------------+ | 1987-03-05 | +------------+ 1 row in set (0.00 sec) mysql> mysql> drop table date_val; Query OK, 0 rows affected (0.00 sec) mysql> mysql>