oracle: DATE字段不能只存储"小时分钟秒"

做了个小测试:

create table VIPR_AIRPORT_RULE1
(
  AIRLINE           VARCHAR2(2) not null,
  AIRPORT         VARCHAR2(3) not null,
  START_TIME   DATE not null,
  END_TIME       DATE not null,
  NUM                 NUMBER not null
)

尝试插入数据:

insert into VIPR_AIRPORT_RULE1 values('CA','PEK',to_date('0000','HH24MI'),to_date('0200','HH24MI'),300);

成功,但查询时:

SQL> select * from vipr_airport_rule1;
 
AIRLINE AIRPORT START_TIME  END_TIME           NUM
----------- -------------- ------------------- ------------------------ ----------
CA         PEK           2012/9/1          2012/9/1 2:            300

会发现还是存入了年日月,所以只能存储这种形式。但查询时可只获取时间(小时分秒数):

SQL> select to_char(end_time,'HH24MISS') from vipr_airport_rule1;
 
TO_CHAR(END_TIME,'HH24MISS')
----------------------------
020000
 

 

你可能感兴趣的:(oracle与c++开发,date,存储,oracle,null,insert,sql)