如何在 MySQL 中查詢兩個日期之間的資訊?


您可以使用 BETWEEN 語句來查詢介於兩個日期之間的資訊。語法如下所示 −

select *from yourTableName where yourColumnName between ‘yourStartingDate’ and curdate().

使用 curdate() 或 now(),這兩個函式都可用。為了理解上述語法,我們建立一個表 −

mysql> create table BetweenDateDemo
   −> (
   −> StartDate datetime
   −> );
Query OK, 0 rows affected (0.78 sec)

使用以下查詢在表中插入一些記錄 −

mysql> insert into BetweenDateDemo values(date_add(now(),interval -1 year));
Query OK, 1 row affected (0.11 sec)

mysql> insert into BetweenDateDemo values(date_add(now(),interval -2 year));
Query OK, 1 row affected (0.13 sec)

mysql> insert into BetweenDateDemo values(date_add(now(),interval -3 year));
Query OK, 1 row affected (0.13 sec)

mysql> insert into BetweenDateDemo values(date_add(now(),interval 1 year));
Query OK, 1 row affected (0.12 sec)

mysql> insert into BetweenDateDemo values(date_add(now(),interval 2 year));
Query OK, 1 row affected (0.12 sec)

mysql> insert into BetweenDateDemo values(date_add(now(),interval 3 year));
Query OK, 1 row affected (0.16 sec)

現在您可以使用 select 語句顯示錶中的所有記錄。查詢如下所示 −

mysql> select *from BetweenDateDemo;

以下是輸出 −

+---------------------+
| StartDate           |
+---------------------+
| 2017-12-08 11:45:47 |
| 2016-12-08 11:45:56 |
| 2015-12-08 11:46:01 |
| 2019-12-08 11:46:05 |
| 2020-12-08 11:46:11 |
| 2021-12-08 11:46:15 |
+---------------------+
6 rows in set (0.00 sec)

現在使用上述語法執行 select between dates −

mysql> select *from BetweenDateDemo where StartDate between '2014-8-12' and curdate();

以下是輸出 −

+---------------------+
| StartDate           |
+---------------------+
| 2017-12-08 11:45:47 |
| 2016-12-08 11:45:56 |
| 2015-12-08 11:46:01 |
+---------------------+
3 rows in set (0.00 sec)

使用 ORDER BY 來獲得一個排序順序。查詢如下所示 −

mysql> select *from BetweenDateDemo where StartDate between '2014-8-12' and curdate() order by StartDate;

以下是輸出 −

+---------------------+
| StartDate           |
+---------------------+
| 2015-12-08 11:46:01 |
| 2016-12-08 11:45:56 |
| 2017-12-08 11:45:47 |
+---------------------+
3 rows in set (0.00 sec)

更新於: 30-Jul-2019

17K+ 瀏覽次數

職業生涯起步

完成課程以獲得認證

開始
廣告