当前位置: 首页 > 知识库问答 >
问题:

MySQL选择今年到去年特定月份的所有行

罗凯
2023-03-14

我需要一个可以从此日期检索的查询,因为他们的学年总是从六月开始,到四月结束。

我试着用Where子句选择日期。

"SELECT * FROM students WHERE year(c_date) = ? AND month(c_date) = ? AND c_occupation = 'Student'"

问号用于使用此代码准备语句的java语言

pst=conn.prepareStatement(Sql);
            pst.setInt(1, year);
            pst.setInt(2, month);

我也试过这个方法,但有了这个,我需要在一年后再次输入日期。

SELECT users.* FROM users 
WHERE dateadded <= '2019-06-01' 
AND dateadded >= '2018-4-30'

我希望它自动基于今天的年份。

比如今天是2019年3月20日。我应该能够返回从这一天到2018年6月1日的所有值

共有2个答案

陈铭晨
2023-03-14

您的最后一种方法可以使用此方法工作

SELECT * FROM students 
WHERE dateadded BETWEEN (CONCAT(YEAR(NOW()), '-06-01') - INTERVAL 1 YEAR) AND CURDATE() 
AND c_occupation = 'Student';
钦侯林
2023-03-14

您的代码可以是:

LocalDate from = LocalDate.now().minusYears(1); // 2018-04-29
LocalDate to = LocalDate.of(Year.now().getValue(), Month.JUNE, 1); // 2019-06-01

String sql = "SELECT * FROM students WHERE dateadded BETWEEN ? AND ? AND c_occupation = 'Student'";
pst = conn.prepareStatement(Sql);
pst.setObject(1, from);
pst.setObject(2, to);
  • LocalDate。现在()。年(1) 返回去年同日

一些参考资料:

  • MySQL:在条件之间
  • java.timeAPI

 类似资料:
  • 问题内容: 如何在SELECT中查找一年中的第一天? 我找到了这个月份-但是我没有足够的掌握年份的信息:(我一直在寻找一个单独的查询来查找月份开始和现在之间的数据) 问题答案: 我认为您需要: 老实说,您可以执行以下操作:

  • 问题内容: 如何知道特定年份的特定月份有多少天? 问题答案: Java 8及更高版本 @沃伦·诺科斯(Warren M. 如果你尝试使用Java 8的新Date and Time API,则可以使用java.time.YearMonthclass。请参阅Oracle教程。 测试:尝试a年的一个月: Java 7及更早版本 创建日历,设置年份和月份并使用 getActualMaximum 测试:尝试

  • 问题内容: 我有一个年份值和一年中的某天,并想转换为日期(天/月/年)。 问题答案:

  • 问题内容: 我看到在dart中有一个Duration类,但不能用它加减年或月。您如何处理此问题,我需要从日期中减去6个月。是否有类似momentjs的飞镖之类的东西?谢谢 问题答案: 好的,所以您可以按照以下两个步骤操作,取自@zoechi(Flutter的重要贡献者): 定义基准时间,让我们说: 现在,您想要新的日期: 你会得到

  • 我想得到两年之间的所有月份,以及两年之间的所有月份,他们的所有数据都将相加,以得到每年的销售额。 以下是我的表格截图: 截图 例如,我想获得2016年至2017年的年销售额,我需要将名称中包含2016年和2017年的所有列相加,以获得年销售额。我知道这张表不是正常的或正常的。但是这张桌子不是我的。 以下是获取两个日期之间月份的示例代码: