Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oracle Sql在插入状态时向截止日期添加小时和分钟_Sql_Oracle_Datetime_Sql Insert_Date Arithmetic - Fatal编程技术网

Oracle Sql在插入状态时向截止日期添加小时和分钟

Oracle Sql在插入状态时向截止日期添加小时和分钟,sql,oracle,datetime,sql-insert,date-arithmetic,Sql,Oracle,Datetime,Sql Insert,Date Arithmetic,您好,我正在尝试做一个insert语句,其中包括在to_日期上增加2小时10分钟 但我不知道我可以使用哪个函数 这是我到目前为止的声明 insert into xyz values (TO_DATE('22-Oct-2020 11:00 AM', 'DD-MM-YYYY HH:MI AM')) 但是我想在插入时在上面加上2小时10分钟。使用日期算法。在Oracle中,可以将十进制值添加到日期(1表示“1天”): 或: 或(向Wernfried Domscheit提供信贷): 使用日期算术。在

您好,我正在尝试做一个insert语句,其中包括在to_日期上增加2小时10分钟

但我不知道我可以使用哪个函数

这是我到目前为止的声明

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

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

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

或:

或(向Wernfried Domscheit提供信贷):


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

或:

或(向Wernfried Domscheit提供信贷):


您也可以使用
interval

insert into xyz values (TO_DATE('22-Oct-2020 11:00 AM', 'DD-MM-YYYY HH:MI AM') + interval '130' minute);
       
        
select TO_DATE('22-Oct-2020 11:00 AM', 'DD-MM-YYYY HH:MI AM') + interval '130' minute from dual;
    
TO_DATE('22-OCT-202
-------------------
22-10-2020 01:10 PM
       

select TO_DATE('22-Oct-2020 11:00 AM', 'DD-MM-YYYY HH:MI AM') + interval '1' day from dual;
    
TO_DATE('22-OCT-202
-------------------
23-10-2020 11:00 AM

您也可以使用
interval

insert into xyz values (TO_DATE('22-Oct-2020 11:00 AM', 'DD-MM-YYYY HH:MI AM') + interval '130' minute);
       
        
select TO_DATE('22-Oct-2020 11:00 AM', 'DD-MM-YYYY HH:MI AM') + interval '130' minute from dual;
    
TO_DATE('22-OCT-202
-------------------
22-10-2020 01:10 PM
       

select TO_DATE('22-Oct-2020 11:00 AM', 'DD-MM-YYYY HH:MI AM') + interval '1' day from dual;
    
TO_DATE('22-OCT-202
-------------------
23-10-2020 11:00 AM

如果我只想添加天数,我需要使用什么函数?注意,格式
MM
实际上意味着月份数。正确的语法应该是
TO_DATE('22-Oct-2020 11:00 AM','DD Mon YYYY HH:MI AM','NLS_DATE_LANGUAGE=American')
如果我只想添加天数,我需要使用什么函数?注意,格式
MM
实际上意味着月份数。正确的语法应该是
TO_DATE('22-Oct-2020 11:00 AM','DD Mon YYYY HH:MI AM','NLS_DATE_LANGUAGE=American')
你也可以写
+interval'2:10'hour-TO-minute
这会自动将上午改为下午吗?@WernfriedDomscheit:是的。为了完整起见,我在回答中加了这个。非常感谢。非常感谢您,我花了这么多时间尝试addtime、dateadd()等。您还可以编写
+每小时间隔“2:10”
这会自动将AM更改为PM吗?@WernfriedDomscheit:是的,的确如此。为了完整起见,我在回答中加了这个。非常感谢。非常感谢,我花了很多时间尝试addtime、dateadd()等。
insert into xyz 
values (
    to_date('22-Oct-2020 11:00 AM', 'DD-MM-YYYY HH:MI AM') 
    + interval '2:10' hour to minute
)
insert into xyz values (TO_DATE('22-Oct-2020 11:00 AM', 'DD-MM-YYYY HH:MI AM') + interval '130' minute);
       
        
select TO_DATE('22-Oct-2020 11:00 AM', 'DD-MM-YYYY HH:MI AM') + interval '130' minute from dual;
    
TO_DATE('22-OCT-202
-------------------
22-10-2020 01:10 PM
       

select TO_DATE('22-Oct-2020 11:00 AM', 'DD-MM-YYYY HH:MI AM') + interval '1' day from dual;
    
TO_DATE('22-OCT-202
-------------------
23-10-2020 11:00 AM