首页 > 解决方案 > Oracle SQL,以“YYYY-MM-DD”格式插入日期

问题描述

我有这张桌子:

CREATE TABLE horario (
    id_horario  NUMBER(6) NOT NULL,
    time_start  DATE NOT NULL,
    time_end    DATE NOT NULL,
);

我想插入类型为 '08:00:00' 的 time_start 或 time_end 但 DATE 收到“YYYY-MM-DD”格式,我需要更改time_startand的类型time_end

那些时间的数据类型应该是什么?

编辑:

目前我有这个:

http://sqlfiddle.com/#!4/34b50/10

但我只需要插入时间

标签: sqloracle

解决方案


您可以使用INTERVAL DAY(0) TO SECOND存储时间值:

CREATE TABLE horario (
    id_horario  NUMBER(6) NOT NULL,
    time_start  INTERVAL DAY(0) TO SECOND NOT NULL,
    time_end    INTERVAL DAY(0) TO SECOND NOT NULL
);

然后你可以插入值:

INSERT INTO horario ( id_horario, time_start, time_end )
VALUES ( 1, INTERVAL '08:00:00' HOUR TO SECOND, INTERVAL '12:34:56' HOUR TO SECOND );

这允许您减去值以找到持续时间或DATE根据需要将它们添加到值中。

db<>在这里摆弄


推荐阅读