String year=request.getParameter("year");
String month=request.getParameter("month);
String time=year+month;
得到日期之后,sql语句可以这样写:
select * from table where to_char(data,'yyyymm') like time;
//这样的话year必须是完整的年份(2001),月份也必须是两位整数(01)。你要根据要写入的年份和月份的要求做相应的修改;也可以用界写日期上下限的方法,各月的天数不同,你要进行判断。特别是2月份的,闰年是多少天,其他的基本都是固定的,只要做一个简单的判断就可以啦。
String month=request.getParameter("month);
String time=year+month;
得到日期之后,sql语句可以这样写:
select * from table where to_char(data,'yyyymm') like time;
//这样的话year必须是完整的年份(2001),月份也必须是两位整数(01)。你要根据要写入的年份和月份的要求做相应的修改;也可以用界写日期上下限的方法,各月的天数不同,你要进行判断。特别是2月份的,闰年是多少天,其他的基本都是固定的,只要做一个简单的判断就可以啦。
to_char是什么呀,日期型能用like吗?
这里time不是字符型的吗,
我按照zhx_232(笨狗熊妹妹) 的方法做,在查询条件的TEXT框中输入2001和09,结果提示无效列名。??
“select * from table where saledate <=TO_DATE('"+enddate+"','yyyy-mm-dd hh24:mi:ss') ";
注意:String enddate要满足日期格式(后面括号约定的),
如:2001-10-31 13:23:23
--use Calendar
Calendar cal = Calendar.getInstance();
cal.set(yyyy, mm, dd, hh, mm, ss);
cal.get(Calendar.DAY_OF_MONTH);
如:String b=request.getParameter("month");
下面的代码应该怎么写来得到b月的天数
cal.set(yyyy, Integer.valueOf(b), 1, 0, 0, 0);
Date monthBegin = cal.getTime();
cal.add(Calendar.MONTH, 1);
cal.add(Calendar.DATE, -1); // last month end date
Date monthEnd = cal.getTime();
--得到b月的天数
Calendar cal = Calendar.getInstance();
cal.set(yyyy, Integer.valueOf(b), 1, 0, 0, 0);
cal.add(Calendar.MONTH, 1);
cal.add(Calendar.DATE, -1); // month end date
int dayOfMonth = cal.get(Calendar.DAY_OF_MONTH);
<%@ page import="java.io.*"%>
<%@ page import="java.sql.*"%>
<%@ page import="java.util.GregorianCalendar"%>
<%@ page import="java.util.*"%>
<%@ page import="java.util.Date"%>
String a=request.getParameter("year");
String b=request.getParameter("month");
if ((a!=null) && (b!=null)){
String yue="月";
String days1="1-"+b+yue+"-"+a;
Calendar cal = Calendar.getInstance();
cal.set(Integer.valueOf(a),Integer.valueOf(b), 1);
cal.add(Calendar.MONTH, 1);
cal.add(Calendar.DATE, -1); // month end date
int dayOfMonth = cal.get(Calendar.DAY_OF_MONTH);
String days2=dayOfMonth+"-"+yue+"-"+a;
ResultSet rs =data.SQLSelect("select * from table where cur_date>='"+days1+"' and cur_date<='"+days2+"'");
cal.set(Integer.valueOf(a),Integer.valueOf(b), 1);
method signature requires full information
--Integer.valueOf(a).toInt()?
<%String a=request.getParameter("year");
String b=request.getParameter("month");
if((a!=null)&&(b!=null)){
{String yue="月";
String days1="1-"+b+yue+"-"+a;
Calendar cal = Calendar.getInstance();
cal.set(Integer.valueOf(a).intValue(),Integer.valueOf(b).intValue(),1,0,0,0);
//cal.set(Integer.parseInt(a),Integer.parseInt(b),1,0,0,0);这样写也出同样的错误
cal.add(Calendar.MONTH,1);
cal.add(Calendar.DATE,-1); // month end date
int dayOfMonth = cal.get(Calendar.DAY_OF_MONTH);
String days2=dayOfMonth+"-"+b+yue+"-"+a;
ResultSet rs =data.SQLSelect("select * from table where c_date>='"+days1+"' and c_date<='"+days2+"'");
while (rs.next()){
Date cur=rs.getDate("c_date");
simoncn(早睡早起精神好),谢谢你了,只要把cal.add(Calendar.DATE,-1); 去掉就可以了,给分!尽我所能!