oracle仅插入时间

标签 oracle time to-date

我想将数据作为时间而不是日期插入数据库。如果我使用 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/

相关文章:

带有格式的 oracle to_date 不显示时间

oracle - 如何将带时区的字符串转换为日期

database - 错误 "Remote host closed connection during handshake"的原因是什么?

sql - ORACLE UPPER 应用于 IN 条件

sql - 在表格中间插入新列?

java - 数组算法及其时间复杂度分析

php - 自然地对时间字符串数组进行排序

jQuery + 时钟和天气

sql - 日期和季度 SQL ORACLE

sql - Oracle SQL触发器根据插入列值插入新记录