SELECT * FROM `p8_memberdata`
WHERE regdate BETWEEN (UNIX_TIMESTAMP(NOW()) - 86400) AND NOW();
regdate 為 Unix 時間戳(整數)。86400 = 60*60*24 秒。SELECT * FROM `p8_memberdata`
WHERE DATE_FORMAT(FROM_UNIXTIME(regdate), '%Y-%m-%d') = DATE_FORMAT(NOW(), '%Y-%m-%d')
ORDER BY uid DESC;
若 regdate 有索引且數據量大,推薦改用範圍查詢:
SELECT * FROM `p8_memberdata`
WHERE regdate >= UNIX_TIMESTAMP(DATE(NOW()))
AND regdate < UNIX_TIMESTAMP(DATE(NOW()) + INTERVAL 1 DAY)
ORDER BY uid DESC;
此寫法既符合「自然日」語義,又能走索引範圍掃描。