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月份的,闰年是多少天,其他的基本都是固定的,只要做一个简单的判断就可以啦。

解决方案 »

  1.   

    提示无效列名,ORACLE的日期格式如:26-9月-2001,
    to_char是什么呀,日期型能用like吗?
      

  2.   

    to_char是ORACLE自带的函数,日期型不能用LIKE的。
      

  3.   

    那么说select * from table where to_char(data,'yyyymm') like time;是不对的了。该怎么处理呀?????/
      

  4.   

    如果time也转换成字符型的话就对了。
      

  5.   

    String time=year+month;
    这里time不是字符型的吗,
      

  6.   

    你看看你的year和month里面有值吗?
      

  7.   

    有值,
    我按照zhx_232(笨狗熊妹妹) 的方法做,在查询条件的TEXT框中输入2001和09,结果提示无效列名。??
      

  8.   

    我一般把日期数据用char()类型表示,不用date
      

  9.   

    用这个:
    “select * from table where saledate <=TO_DATE('"+enddate+"','yyyy-mm-dd hh24:mi:ss') ";
    注意:String enddate要满足日期格式(后面括号约定的),
    如:2001-10-31 13:23:23
      

  10.   

    请问各位,怎样得到某月的天数呀,现在只剩这个关键地方了,
    --use Calendar
    Calendar cal = Calendar.getInstance();
    cal.set(yyyy, mm, dd, hh, mm, ss);
    cal.get(Calendar.DAY_OF_MONTH);
      

  11.   

    我这里的月份是从text中查出的,是一个String类型,
    如:String b=request.getParameter("month");
    下面的代码应该怎么写来得到b月的天数
      

  12.   

    Calendar cal = Calendar.getInstance();
    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);
      

  13.   

    我按下面代码来查询,结果提示错误:“无法将java.lang.Integer 转换为int”,请各位帮帮忙,如能解决,必重酬!!<%@ page language="java"%>
    <%@ 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+"'");
      

  14.   

    上述错误是出在
    cal.set(Integer.valueOf(a),Integer.valueOf(b), 1);
      

  15.   

    cal.set(Integer.valueOf(a), Integer.valueOf(b), 1, 0, 0, 0);
    method signature requires full information
      

  16.   

    仍然提示“method不兼容类型,无法将java.lang.Integer 转换为int”,别的地方有没有错误呀
      

  17.   

    Integer.valueOf(a)
    --Integer.valueOf(a).toInt()?
      

  18.   

    java.lang.Integer 中未找到方法toInt()。出现这种错误大概有哪些方面的原因呀
      

  19.   

    我在数据库中插入几知记录,有2、9、10这三个月份的。我用上面的方法进行查询,但只能查出10月份的记录,且不能查询10月31日的记录,查询2、9月份的记录时会出错“java.lang.NullPointerException”,请问这是什么原因呀???
    <%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");
      

  20.   

    我已经解决了,谢谢各位仁兄,
    simoncn(早睡早起精神好),谢谢你了,只要把cal.add(Calendar.DATE,-1); 去掉就可以了,给分!尽我所能!