第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

MySQL選擇從今年到去年特定月份的所有行

MySQL選擇從今年到去年特定月份的所有行

三國紛爭 2022-10-26 17:03:21
我正在為需要從去年 4 月到 6 月檢索數(shù)據(jù)的學校創(chuàng)建一個系統(tǒng)。我需要一個可以從此日期檢索的查詢,因為他們的學年總是從六月開始,到四月結(jié)束。我嘗試使用 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'我希望它根據(jù)今天的年份自動進行。例如,今天是 2019 年 3 月 20 日。我應該能夠返回從這一天到 2018 年 6 月 1 日的所有值
查看完整描述

2 回答

?
泛舟湖上清波郎朗

TA貢獻1818條經(jīng)驗 獲得超3個贊

您的代碼可以是:


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.now().minusYears(1);返回去年的同一天

  • LocalDate.of(Year.now().getValue(), Month.JUNE, 1);返回當年的 6 月 1 日

  • dateadded BETWEEN ? AND ?將選擇日期fromto日期之間的所有內(nèi)容

  • pst.setObject(1, from);如果您使用的是 JDBC 4+,則可以LocalDate這樣設(shè)置


查看完整回答
反對 回復 2022-10-26
?
慕村9548890

TA貢獻1884條經(jīng)驗 獲得超4個贊

可以使用這種方法使您的最后一種方法起作用

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


查看完整回答
反對 回復 2022-10-26
  • 2 回答
  • 0 關(guān)注
  • 126 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號