【发布时间】:2019-09-18 09:52:54
【问题描述】:
我正在为一所学校创建一个系统,该系统需要检索今年 4 月到去年 6 月的数据。
我需要一个可以从此日期检索的查询,因为他们的学年总是从六月开始,到四月结束。
我尝试使用 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 日,我应该能够返回所有值
【问题讨论】:
-
您是否尝试过使用“between”运算符?此外,您可以尝试通过 PreparedStatement 设置日期,而不是使用 int 值:stackoverflow.com/questions/18614836/…