数据库查询 我想查询指定时间段的数据 比如 2006-4-4 到 2006-7-7 的数据日期是number 可数据库里是date 我用什么方法转换阿 谢谢了

解决方案 »

  1.   

    你得到的日期 2006-4-4SimpleDateFormat sf = new SimpleDateFormat("yyyy-M-D");
    java.util.Date d = sf.parse("2006-4-4");java.sql.Date date = new java.sql.Date(d.getTime());这个date就可以入库比较了
      

  2.   

    用yyyy-M-D 不对吧 应该用这个吧
    SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");
      

  3.   

    大哥还是不行啊 报错 query():ORA-01861: 文字与格式字符串不匹配
      

  4.   

    SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");
    这句我看API已经改了 还是不行 
      

  5.   

    Calendar cal = Calendar.getInstance();
    cal.set(Calendar.YEAR,年);
    cal.set(Calenar.MONTH,月);
    cal.set(Calenar.DAY_OF_MONTH,日);
    String firstDate = (new Timestamp(cal.getTimeInMillis())).toString();Calendar cals = Calendar.getInstance();
    cals.set(Calendar.YEAR,年);
    cals.set(Calenar.MONTH,月);
    cals.set(Calenar.DAY_OF_MONTH,日);
    String secondDate = (new Timestamp(cals.getTimeInMillis())).toString();
    然后把firstDate和secondDate传到SQL语句中,执行它
      

  6.   

    还报错 
    好像并没有转换成date
      

  7.   

    你把SQL语句打印出来贴上看看
      

  8.   

    SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");java.util.Date dt1 = sf.parse("2005-11-11");java.sql.Date qishiriqi = new java.sql.Date(dt1.getTime());
            
    java.util.Date dt2 = sf.parse("2006-07-14");java.sql.Date zhongzhiriqi = new java.sql.Date(dt2.getTime());源码发上 大家帮我看看  qishiriqi 和 zhongzhiriqi 入库比较的
      

  9.   

    String sql = "select * from TM_BUS_SPECIAL where LINE_NO = '" + request.getParameter("RiZhi_line_no") + "'"  + "and CREATE_TIME between   '" +qishiriqi + "'" + " and '" + zhongzhiriqi + "'";
      

  10.   

    你try catch没有?parse方法要抛异常的
      

  11.   

    kevinliuu(@。@) 谢谢你多次关照
      

  12.   

    String sql = "select * from TM_BUS_SPECIAL where LINE_NO = '" + request.getParameter("RiZhi_line_no") + "'" + "and CREATE_TIME between '" +qishiriqi + "'" + " and '" + zhongzhiriqi + "'";这样传日期和你用字符串传日期是一个效果,sql.Date被转成字符串了可以使用PreparedStatement,之前的日期转换仍然可用String sql = "select * from TM_BUS_SPECIAL where LINE_NO=? and CREATE_TIME between ? and ? " ;
    PreparedStatement pst = conn.preparedStatement(sql);
    pst.setString(1, request.getParameter("RiZhi_line_no"));
    pst.setDate(2, qishiriqi);
    pst.setDate(3, zhongzhiriqi);ResultSet rs = pst.executeQuery();
      

  13.   

    实在不行就用笨方法
    将number转为string类型,再用oracle的to-date函数转换后再比较
      

  14.   

    直接用bettwen and 语句就可以了阿select xxx from table where 
     date bettwen xxxxx and xxxx
      

  15.   

    在SQL语句中直接用 cast  或  convert转
      

  16.   

    谢谢 大哥 我再 试试 我还是新手 SQL语句还不太手熟悉 我先看看SQL
      

  17.   

    1. parse要抛异常
    try{
    java.util.Date dt1 = sf.parse("2005-11-11");
    }catch(ParseException e){
    }
    2. 在( between '" +qishiriqi + "'" + " and '" + zhongzhiriqi )里 又把日期型以字串型传给了SQL 这里就不要再用字串了 直接 between " +qishiriqi + " and " + zhongzhiriqi 就可以了
      

  18.   

    select cast ('2006-4-4' as date)  or select convert(date,'2006-4-4' ) 将日期型的'2006-4-4' 转为date型,再与数据库的date型数据比较,LZ可以试一下……
      

  19.   

    try{
    java.util.Date dt1 = sf.parse("2005-11-11");
    }catch(ParseException e){
    }
    2. 在( between '" +qishiriqi + "'" + " and '" + zhongzhiriqi )里又把日期型以字串型传给了SQL 这里就不要再用字串了 直接 between " +qishiriqi + " and " + zhongzhiriqi 就可以了没抛异常 而且是以字串传 的改了 就可以了
      

  20.   

    pst.setString(1, request.getParameter("RiZhi_line_no"));
    pst.setDate(2, qishiriqi);
    pst.setDate(3, zhongzhiriqi);麻烦问一下  这里需要抛异常吗 如
    stmt.setDate(2, qishiriqi)throws SQLException;
    stmt.setDate(3, zhongzhiriqi)throws SQLException;
      

  21.   

    如果是oracle,就用下面这一句:String sql = "select * from TM_BUS_SPECIAL where LINE_NO = '" + request.getParameter("RiZhi_line_no") + "'"  + "and CREATE_TIME between   to_date('"+qishiriqi+"','yyyy-mm-dd') and to_date('"+zhongzhiriqi+"','yyyy-mm-dd')'" ;其中qishiriqi,zhongzhiriqi是形如yyyy-mm-dd的日期字符串,如"2006-07-29"
      

  22.   

    楼上写的代码只适合ORACLE库,能不能写个适合SQL 2000的语句
    LZ,我也正在做这方面的程序,解决了通知我下,完整的代码贴出来看看
    谢谢!!!!!!!!!!
      

  23.   

    xoxoy() ( ) 谢谢 了 问题已经解决了 用的就是你那种方法oracle 实在太厉害了
      

  24.   

    另外 我要考虑几种情况 比如 qishiriqi zhongzhiriqi 中用户并没有都选择有时只有qishiriqi或zhongzhiriqi 我的SQL语句不是要写好几个马 让后从中选一个 我做的有问题 大哥们在给点代码谢谢了