我有一個日期時間類型的列名稱startdate。我必須獲取當前月份的開始日期和結束日期之間的所有行。從2014年1月1日到2014年11月30日。mysql查詢選擇當前月份的所有行?
3
A
回答
12
select * from your_table
where year(curdate()) = year(startdate)
and month(curdate()) = month(startdate)
0
要日期間獲得的數據:
SELECT * FROM table1 WHERE dateColumn BETWEEN STR_TO_DATE('2014-11-01', '%Y-%m-%d') AND STR_TO_DATE('2014-11-30', '%Y-%m-%d');
1
最有效的方法就是做在當前日期的所有日期運算。這裏是一種方法:
select t.*
from table t
where t.date >= date(now()) - interval day(date(now()) + 1 day and
t.date < (date(now()) - interval day(date(now()) + 1 day) + interval 1 month
複雜的日期算術計算本月的第一天和下個月的第一天。這個公式允許MySQL利用日期列上的索引。
4
要找出當前月份的所有記錄與這個簡單的一行代碼中完成:
SELECT * FROM `Your_Table` WHERE MONTH(startdate) = MONTH(CURDATE());
0
對於選擇一天或一週或一個月的記錄使用此功能:
function get_records_by_period($period, $your_date) {
if ($period == 'today') {
$timeSQL = ' Date($your_date)= CURDATE()';
}
if ($period == 'week') {
$timeSQL = ' YEARWEEK($your_date)= YEARWEEK(CURDATE())';
}
if ($period == 'month') {
$timeSQL = ' Year($your_date)=Year(CURDATE()) AND Month(`your_date`)= Month(CURDATE())';
}
$Sql = "SELECT * FROM your_table WHERE ".$timeSQL
return $Result = $this->db->query($Sql)->result_array();
}
相關問題
- 1. 選擇框月份和月份從PHP當前月份開始
- 2. 查詢選擇對應於所選月份的表的所有事件
- 3. MySQL按月選擇在所有月份中返回NULL
- 4. 訪問查詢 - 總結當前月份
- 5. 選擇當前月份記錄時間戳列的mysql
- 6. MySQL查詢獲取2個月前的所有行
- 7. 選擇月份和月份中的所有日期的總和
- 8. 根據所選月份返回查詢
- 9. 集團按月份選擇查詢
- 10. MySQL的 - 選擇當前月/年的一天最少,不一定月份
- 11. MySQL - 選擇月份差異
- 12. 基於月份跨度的MySQL選擇查詢
- 13. MySQL:從日期在當前周和當前月份中選擇數據
- 14. Linq選擇行當前月份中的日期
- 15. MySQL在查詢後選擇前5行
- 16. 爲所有用戶查詢所選月份的所有月份的創建文章
- 17. MySQL - 選擇所有除非查詢
- 18. 從當前月份中選擇行mysqli&php
- 19. 在MySQL選擇查詢中選擇當前表
- 20. 如何在mysql和php中獲取月份等於當前月份的所有行?
- 21. mongo查詢僅選擇月份的第一個月
- 22. SQL - 查詢當前月份前三個星期內的內容
- 23. 如何使選擇標籤默認當前年份和當前月份?
- 24. 選擇指定的月份日期的所有行
- 25. 選擇當前月份到下個月份的日期範圍日期範圍
- 26. MySQL查詢匹配月份和年份
- 27. 行當前月份和當年剩餘月份
- 28. 如何從另一個表中選擇當前月份的前5行
- 29. PHP在選項中顯示當前月份選擇
- 30. MySQL僅在當前月份內?
該查詢顯示其他年份的記錄,因此不是當前月份的記錄。 – iovis 2016-08-10 15:25:44
是添加'AND YEAR(startdate)= YEAR(CURDATE())' – 2016-12-07 11:07:40