我把日期写成2006-03-12 和2006-03-15格式
在ORACLE里以VARCHAR2格式存储.
现在我想在SQL中比较这两个日期的大小
请问怎么写SQL语句啊??谁有java编写比较日期大小的程序啊
谢谢啊~~

解决方案 »

  1.   

    可能麻烦一点,忍了吧public class TimeDesign {  public static void main(String[] args) {
        String date1 = "2006-03-12";
        String date2 = "2006-03-15";
        int year = 0, month = 0, day = 0, year1 = 0, month1 = 0, day1 = 0;
        StringTokenizer st = new StringTokenizer(date1, "-");
        StringTokenizer st1 = new StringTokenizer(date2, "-");
        while (st.hasMoreTokens()) {
          year = Integer.parseInt(st.nextToken());
          month = Integer.parseInt(st.nextToken());
          day = Integer.parseInt(st.nextToken());
        }
        while (st1.hasMoreTokens()) {
          year1 = Integer.parseInt(st1.nextToken());
          month1 = Integer.parseInt(st1.nextToken());
          day1 = Integer.parseInt(st1.nextToken());
        }    GregorianCalendar gc1 = new GregorianCalendar(year, month - 1, day);
        GregorianCalendar gc2 = new GregorianCalendar(year1, month1 - 1, day1);
        if (gc1.before(gc2)) {
          System.out.println(" gc1 is smaller");
        }
        else if (gc1.equals(gc2)) {
          System.out.println("gc1 is equal to gc2");
        }
        else {
          System.out.print("gc1 is bigger");
        }
      }
    }
      

  2.   

    搞笑啊,哪有那么麻烦
     SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
     String date1 = "2006-03-12";
     String date2 = "2006-03-15";
    try {
    Date d1 = sdf.parse(date1);
    Date d2 = sdf.parse(date2);
    }catch(Exception e) {
    }
    System.out.print(d1.before(d2));
      

  3.   

    select to_date('2006-03-12')-to_date('2006-03-15')
    看结果是正数还是负数不就可以了?
      

  4.   

    谢谢各位指点
    那么我想在数据库中查询在这两个日期段的所有信息,这个SQL语句怎么写啊
    select * from tablename where ......
    我不知道下面怎么写了
      

  5.   

    select * from  table where myday between date1 and date2