網頁

2019/6/4

MySQL 依日期時間 (DATETIME) 條件查詢

MySQL 查詢時依DATETIME欄位為條件查詢的方法如下。

例如有一張player資料表資料如下。player.login_time的欄位格式為DATETIME

+----+----------+---------------------+
| id | nickname |     login_time      |
+----+----------+---------------------+
|  1 | Aatrox   | 2019-06-01 11:58:32 |
|  2 | Garen    | 2019-06-02 20:09:30 |
|  3 | Ivern    | 2019-06-02 14:12:10 |
|  4 | Jayce    | 2019-06-03 15:42:03 |
|  5 | Maokai   | 2019-05-31 10:50:29 |
+----+----------+---------------------+

找出登入時間(login_time)在2019-6-2(不含)以前的玩家。

SELECT * FROM player WHERE login_time < date('2019-06-02');

查詢結果。

+----+----------+---------------------+
| id | nickname |     login_time      |
+----+----------+---------------------+
|  1 | Aatrox   | 2019-06-01 11:58:32 |
|  5 | Maokai   | 2019-05-31 10:50:29 |
+----+----------+---------------------+

DATE()函式中為日期字串,格式為yyyy-MM-dd
例如輸入'2019-06-02',事實上比較的是'2019-6-2 00:00:00'


找出登入時間在2019-5-31(不含)以後的玩家,因為DATE('2019-05-31')實際上是'2019-05-31 00:00:00',所以要用DATE('2019-06-01')

SELECT * FROM player WHERE login_time > date('2019-06-01');

查詢結果。

+----+----------+---------------------+
| id | nickname |     login_time      |
+----+----------+---------------------+
|  1 | Aatrox   | 2019-06-01 11:58:32 |
|  2 | Garen    | 2019-06-02 20:09:30 |
|  3 | Ivern    | 2019-06-02 14:12:10 |
|  4 | Jayce    | 2019-06-03 15:42:03 |
+----+----------+---------------------+

參考:

沒有留言:

張貼留言