如何只存储时间,而不是日期和时间?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (18)

在一个字段中,我需要存储一个日期时间对,即一个标准的Oracle日期。

01/10/2009 22:10:39

但只有时间

22:10:39

我认为节省磁盘空间(我有200万行)或提供更快的处理。

提问于
用户回答回答于

你可以尝试INTERVAL DAY TO SECOND数据类型,但它不会为你节省任何磁盘空间......但它非常适合于此目的。

create table t1 (time_of_day interval day (0) to second(0));

insert into t1 values (TO_DSINTERVAL('0 23:59:59'));

select date '2009-05-13'+time_of_day
from   t1;

尽管有11个字节。

用户回答回答于

你最好的选择可能是将“自午夜以来的秒数”存储为数字字段。

SELECT to_char( SYSDATE, 'SSSSS' ) FROM dual;

扫码关注云+社区