首页 > 解决方案 > Oracle Sql 在插入语句时向 to_date 添加小时和分钟

问题描述

您好,我正在尝试创建一个插入语句,其中包括将 2 小时 10 分钟添加到 to_date 。

但我不知道我可以使用哪个功能。

这是我到目前为止的声明

insert into xyz values (TO_DATE('22-Oct-2020 11:00 AM', 'DD-MM-YYYY HH:MI AM')) 

但我想在插入时在上面添加 2 小时 10 分钟。

标签: sqloracledatetimesql-insertdate-arithmetic

解决方案


使用日期算术。在 Oracle 中,您可以将十进制值添加到日期(1代表“1 天”):

insert into xyz 
values (
    to_date('22-Oct-2020 11:00 AM', 'DD-MM-YYYY HH:MI AM') 
    + 2/24 + 10 / 60 / 24
)

或者:

insert into xyz 
values (
    to_date('22-Oct-2020 11:00 AM', 'DD-MM-YYYY HH:MI AM') 
    + interval '2' hour + interval '10' minute
)

或者(归功于 Wernfried Domscheit):

insert into xyz 
values (
    to_date('22-Oct-2020 11:00 AM', 'DD-MM-YYYY HH:MI AM') 
    + interval '2:10' hour to minute
)

推荐阅读