在mysql中,我們可以使用與當(dāng)前時間比較的方法來篩選出我們想要的結(jié)果。下面是幾種比較方法:
SELECT * FROM `table_name` WHERE `date_column` >NOW(); // 查詢?nèi)掌谠诋?dāng)前時間之后的記錄 SELECT * FROM `table_name` WHERE `date_column`< NOW(); // 查詢?nèi)掌谠诋?dāng)前時間之前的記錄 SELECT * FROM `table_name` WHERE `date_column` = CURDATE(); // 查詢?nèi)掌跒榻裉斓挠涗? SELECT * FROM `table_name` WHERE `date_column` BETWEEN CURDATE() AND DATE_ADD(CURDATE(),INTERVAL 7 DAY); // 查詢?nèi)掌谠诮裉斓揭恢芎笾g的記錄
其中,NOW()函數(shù)返回當(dāng)前的日期時間,CURDATE()函數(shù)返回當(dāng)前日期。
需要注意的是,如果你的mysql服務(wù)器和你的應(yīng)用服務(wù)器不在同一時區(qū),那么NOW()函數(shù)返回的時間可能會和你期望的不一致。可以通過以下方法來解決這個問題:
SET time_zone = '+8:00'; // 設(shè)置時區(qū)為東八區(qū) SELECT * FROM `table_name` WHERE `date_column` >CONVERT_TZ(NOW(),'+00:00','+8:00'); // 查詢東八區(qū)時間在當(dāng)前時間之后的記錄
使用以上方法,你可以輕松地與當(dāng)前時間比較,得到你想要的結(jié)果。