SELECT * FROM `cangku`
WHERE shijian >= '2011-01-13'
AND shijian <= '2011-01-20';
建議使用標準日期格式 YYYY-MM-DD,並確保欄位型別為 DATE、DATETIME 或 TIMESTAMP,以利索引生效。
SELECT * FROM `tables`
WHERE MONTH(`Date`) = MONTH(NOW());
進階寫法(可用索引):
SELECT * FROM `tables`
WHERE `Date` >= DATE_FORMAT(NOW(), '%Y-%m-01')
AND `Date` < DATE_ADD(DATE_FORMAT(NOW(), '%Y-%m-01'), INTERVAL 1 MONTH);
後者避免在欄位上使用函數,能命中 Date 欄位的索引,大量資料時效能差異巨大。
NOW()、CURDATE()、CURTIME():當前日期時間、日期、時間。DATE_ADD()/DATE_SUB():日期加減運算。LAST_DAY():該月最後一天。