我有一个表,该表中有一个名为 date_created
的列,采用时间戳格式 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;
关于java - MySQL根据一年中的一个月获取所有记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38691546/