[英]MySQL to fetch all the records based on a month of a year
我有一張表,在該表中有一個名為date_created
的列,它采用 TIME STAMP 格式2016-07-20 11:30:15
並且在我獲取記錄時,我只需要在2016-07-20 11:30:15
傳遞月份和年份 -結束字段如 (month_no/year) 1/2016
, 2/2016
, 3/2016
..... 所以我必須根據一個月獲取所有記錄。 那么我怎樣才能實現這個查詢。 到目前為止,我嘗試過這樣。
SELECT t.*
FROM stock t
WHERE MONTH(str_to_date(t.date_created,'%Y/%M')) = 7
由於您有一個timestamp
列,因此您不必太擔心。 您需要將月份編號和年份編號放在相應的位置。
SELECT t.*
FROM stock t
WHERE MONTH(t.date_created) = ?
AND YEAR(t.date_created) = ?;
如果月 = 7 年 = 2016,那么您的查詢:
SELECT t.*
FROM stock t
WHERE MONTH(t.date_created) = 7
AND YEAR(t.date_created) = 2016;
如果您在列上創建了索引,那么我建議您不要在 where 子句中使用任何函數,這會使查詢變慢且不可搜索.. 請使用以下鏈接我為什么這么說
我建議您使用以下查詢。
SELECT t.*
FROM stock t
WHERE t.date_created between '2016-07-01 00:00:00.000' AND '2016-07-31 00:00:00.000'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.