萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 程式設計 >  >> 資料庫 >> MySQL 教學

MySQL 日期查詢兩大常用場景:區間篩選與當月資料

1. 查詢兩個日期之間的資料

SELECT * FROM `cangku`
WHERE shijian >= '2011-01-13'
  AND shijian <= '2011-01-20';

建議使用標準日期格式 YYYY-MM-DD,並確保欄位型別為 DATE、DATETIME 或 TIMESTAMP,以利索引生效。

2. 查詢當月資料

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():該月最後一天。
copyright © 萬盛學電腦網 all rights reserved