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>
从数据库中查询日期数据,可以这样做: select to_char(sysdate,'YYYY-MM-DD') from dual; 显示:2003-10-29
SQL> select to_char(to_date('01-12月-1989','DD-MON-YYYY'),'YYYY-MM-DD') from dual;TO_CHAR(TO ---------- 1989-12-01
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');
时间的比较最好通过to_date()先转换一下 select 1 from dual where sysdate>to_date('2003-10-20 00:00:00','yyyy-mm-dd hh24:mi:ss');
1.'02-10月-2002'看了都别扭,字符集换一下吧,老大。2.日期可以这样查询的: select * from a where to_char(trunc(s1))='02-10月-2002'菜人有菜问题,我和你一样菜。不知道你会不会给我分的。
更正一下:select * from a where to_char(trunc(s1),'yyyy-mm-dd')='2002-10-22'
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>
select to_char(sysdate,'YYYY-MM-DD') from dual;
显示:2003-10-29
----------
1989-12-01
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');
select 1 from dual where sysdate>to_date('2003-10-20 00:00:00','yyyy-mm-dd hh24:mi:ss');