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 |
+----+----------+---------------------+
參考:
沒有留言:
張貼留言