我想将数据作为时间而不是日期插入数据库。如果我使用 to_date('2012-08-31 07:39:33', 'YYYY-MM-DD HH24:MI:SS')
它还添加了日期。
如果我使用 to_date('09:34:00', 'HH24:MI:SS')
它还不知从何添加年、月、日:|
稍后我需要获取时间在 x 和 y 之间的行,而不考虑年、月或日。我怎么做?
谢谢
最佳答案
作为 Dave 展示的 date
解决方案的替代方案,您可以对列使用 interval
数据类型:
create table t42(id number, t interval day to second);
insert into t42 (id, t) values(123, to_dsinterval('0 07:39:33'));
insert into t42 (id, t) values(456, to_dsinterval('0 09:34:00'));
select id
from t42
where t between to_dsinterval('0 07:00:00') and to_dsinterval('0 07:59:59');
ID
----------
123
显示间隔有点尴尬,因为它们是 don't have format models ,但如果需要,请参阅 this question 以获得一些想法。如果您仅将它们用于过滤,那么这可能根本不是问题。
关于oracle仅插入时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12215281/