Oracle中没有“仅DATE”列。DATE数据类型存储日期和时间。
如果您只关心日期,则可以:
INSERT INTO tbl (dtCol) VALUES (TO_DATE('20110929','YYYYMMDD');这将使时间部分位于00:00:00。您不必显示它。
如果您只对时间部分感兴趣,则该列中仍会存储一个日期。您只需要在输出上进行处理即可。例如:
SQL> CREATE TABLE dt (d DATE);SQL> INSERT INTO dt VALUES (TO_DATE('1:164800','J:HH24MISS'));1 row inserted显示该列的实际内容将显示插入的日期:
SQL> SELECt * FROM dt;D--------------------0/0/0000 4:48:00 PM
从列中仅选择时间组件,将为您提供所需的输出:
SQL> SELECt TO_CHAr(d, 'HH24:MI:SS') d FROM dt;D--------16:48:00SQL>
如果您认为只需要一个时间列,则需要确保始终插入相同的日期部分。



