create table a(s1 date);

解决方案 »

  1.   

    alter session set nls_date_format='DD-mon-yy';
    insert into a values ('01-1月-2002');/*我的是中文版所以月份这么写了*/
    SQL> insert into a values ('01-1月-2002');已创建 1 行。SQL>  insert into a values ('01-10月-2002');已创建 1 行。SQL> select * from a;S1
    ----------
    01-1月 -02
    01-10月-02SQL> select * from a where s1<'02-10月-2002';S1
    ----------
    01-1月 -02
    01-10月-02SQL> select * from a where s1<'01-1月-2002';未选定行SQL> select * from a where s1='01-1月-2002';S1
    ----------
    01-1月 -02SQL>
      

  2.   

    从数据库中查询日期数据,可以这样做:
    select to_char(sysdate,'YYYY-MM-DD') from dual;
    显示:2003-10-29
      

  3.   

    SQL> select to_char(to_date('01-12月-1989','DD-MON-YYYY'),'YYYY-MM-DD') from dual;TO_CHAR(TO
    ----------
    1989-12-01
      

  4.   

    1.怎么在oracle中定义一个时间字段(20),
      my_date date
    2.能够比较大小的,如何比较(30),
      pl/sql:
       if to_char(my_date,'yyyymmdd') > '20031029' then
          dbms_ouput.....
       end if;       
    3.最好能回答这个时间字段的显示格式(40)(在Edit控件中间显示)
      
     edit1.text := formatdatetime(my_rq,'yyyy-mm-dd');
      

  5.   

    时间的比较最好通过to_date()先转换一下
    select 1 from dual where sysdate>to_date('2003-10-20 00:00:00','yyyy-mm-dd hh24:mi:ss');
      

  6.   

    1.'02-10月-2002'看了都别扭,字符集换一下吧,老大。2.日期可以这样查询的: select * from a where to_char(trunc(s1))='02-10月-2002'菜人有菜问题,我和你一样菜。不知道你会不会给我分的。
      

  7.   

    更正一下:select * from a where to_char(trunc(s1),'yyyy-mm-dd')='2002-10-22'