Use BETWEEN and AND for a date data type : Date Compare Order « Date Time « SQL / MySQL






Use BETWEEN and AND for a date data type

/*
mysql> Drop table timeTable;
Query OK, 0 rows affected (0.00 sec)

mysql> CREATE TABLE timeTable (
    ->     year YEAR(4),
    ->     month INT(2) UNSIGNED ZEROFILL,
    ->     day INT(2) UNSIGNED ZEROFILL
    -> );
Query OK, 0 rows affected (0.06 sec)

mysql> INSERT INTO timeTable VALUES(2001,1,1),
    ->                             (2002,6,20),
    ->                             (2003,5,30),
    ->                             (2004,2,2),
    ->                             (2005,4,23),
    ->                             (2006,3,23);
Query OK, 6 rows affected (0.00 sec)
Records: 6  Duplicates: 0  Warnings: 0

mysql> select * from timeTable;
+------+-------+------+
| year | month | day  |
+------+-------+------+
| 2001 |    01 |   01 |
| 2002 |    06 |   20 |
| 2003 |    05 |   30 |
| 2004 |    02 |   02 |
| 2005 |    04 |   23 |
| 2006 |    03 |   23 |
+------+-------+------+
6 rows in set (0.01 sec)

mysql> select * from TimeTable WHERE year BETWEEN 2001 AND 2003;
+------+-------+------+
| year | month | day  |
+------+-------+------+
| 2001 |    01 |   01 |
| 2002 |    06 |   20 |
| 2003 |    05 |   30 |
+------+-------+------+
3 rows in set (0.00 sec)


*/

Drop table timeTable;

CREATE TABLE timeTable (
    year YEAR(4), 
    month INT(2) UNSIGNED ZEROFILL,
    day INT(2) UNSIGNED ZEROFILL
);

INSERT INTO timeTable VALUES(2001,1,1),
                            (2002,6,20),
                            (2003,5,30),
                            (2004,2,2),
                            (2005,4,23),
                            (2006,3,23);

select * from timeTable;
  
select * from TimeTable WHERE year BETWEEN 2001 AND 2003; 
           
       








Related examples in the same category

1.Compare date in where clause
2.Order date
3.Compare Date in where clause: between and
4.Use BETWEEN AND for date data type
5.Compare date 2