java - MySQL根据一年中的一个月获取所有记录

标签 java mysql sql

我有一个表,该表中有一个名为 date_created 的列,采用时间戳格式 2016-07-20 11:30:15 ,而我正在获取记录,我必须在前端字段中仅传递,例如 (month_no/year) 1/20162/20163/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/

相关文章:

java - JDK 1.6及以上版本Integer类的缓存机制改变有什么好处?

java - PortalUtil.getOriginalServletRequest 和 PortalUtil.getHttpServletRequest 有什么区别?

java - 无法为对象堆 liferay tomcat 保留足够的空间

MySQL:计算派生值的中位数

mysql - 访问 twig 中数组的单个元素

mysql - 在 Hibernate 5 中未使用 hbm2ddl.auto=update 创建表

java - JDBC 使用 MySQL 选择批处理/获取大小

Java 证书异常 "No subject alternative names matching IP address ... found"

html - 在没有 PHP 的情况下使用来自 mysql 数据库的数据填充 HTML 下拉列表

mysql - 需要帮助编写高效的 SQL 查询