在oracle sql中创建表时添加一段时间

时间:2016-04-18 00:24:45

标签: sql oracle

我被要求创建一个包含

的表格

进入时间(m.sshh),例如。 0.3506(以数字形式存储) 最后时间(m.sshh)例如。 0.3506(以数字形式存储)

创建表格时如何格式化?我试过了

CREATE TABLE S_ENTRY
(
reg_code varchar(5),
event_no number(1,50),
entry_time number (m.sshh),
final_time number (m.sshh)
;

但我得到一个"数字精度说明符超出范围(1到38)"错误。当我使用to_char时,我也会得到一个错误的右括号错误。

由于

2 个答案:

答案 0 :(得分:0)

基本答案是:不要将它们存储为数字。

您正在寻找Interval Literals,尤其是DAY TO SECOND类型的。{/ p>

请阅读链接文档,您应该了解它符合您需求的原因。

答案 1 :(得分:0)

这不是一个很好的格式。但你想要的是一个固定的领域,具有明确的规模和精度:

Derived

但是,您需要了解Oracle仅将这些值视为数字。如果您希望将它们存储为时间,则可以使用CREATE TABLE S_ENTRY ( reg_code varchar(5), event_no number(1,50), entry_time number(6, 4), final_time number(6, 4) );

interval

您还可以使用entry_time interval day(0) to seconds(0) timestamp与"日期"组件为0,但date更有意义,因为它可以添加到日期。