获得本月

时间:2012-08-02 09:50:52

标签: java mysql

这是我的数据库示例:

  • 状态日期

  • Q 2012-08-02。

  • Q 2012-08-01。
  • Q 2012-09-03。

如果我运行我的应用程序意味着我希望显示2.这是做以下信息。   - 检查数据库当前月份+状态= Q ,显示完全匹配信息的数量。例如,总共2表示输出显示为2.

我已经完成了当前日期+状态= Q 信息的总计数值。已成功完成。 我在这里使用这段代码:

public class RetailerWs {
public int data(){
int count=0;

//count++;

try{
  Class.forName("com.mysql.jdbc.Driver");
  Connection con = DriverManager
     .getConnection("jdbc:mysql://localhost:3306/pro","root","");

  PreparedStatement statement =  con
     .prepareStatement("select * from orders where status='Q' AND date=CURDATE()");
  ResultSet result = statement.executeQuery();

  while(result.next()) {
    // Do something with the row returned.
    count++; //if the first col is a count.
  }     
}
catch (Exception exc) {
  System.out.println(exc.getMessage());
}


return count;
 }
 }

另一个类是:

public class Demo {
public static void main(String[] args){
    RetailerWs obj = new RetailerWs();
    System.out.println(obj.data());
 }

}

以上代码获取当前日期+状态= Q 的信息。 请帮我编写当前月份+状态= Q ....

的代码

1 个答案:

答案 0 :(得分:0)

应该是:

select * from orders where status='Q' AND MONTH(date) = MONTH(CURDATE())

有关MySQL日期和时间函数的更多信息,请参阅THIS

本周,请尝试:

select * from orders where status='Q' AND WEEK(date) = WEEK(CURDATE())

对于本年度的一周,请尝试:

select * from orders where status='Q' AND WEEK(date) = WEEK(CURDATE()) AND YEAR(date) = YEAR(CURDATE())

要将其全部用于一个支票,请使用:

select * from orders where status='Q' AND YEARWEEK(date) = YEARWEEK(CURDATE())