我试图从' date'的产品中获取新的约会。 +'时间间隔'。
像这样。
' 15/02/2016 18:00:00' +' +00 02:00:00.000000'
预期结果:
' 15/02/2016 20:00:00'
但是使用数据库中的列。
CREATE TABLE timerest
(
DATE_ASIGN DATE,
TIME_ASIGN INTERVAL DAY(2) TO SECOND(0)
);
感谢您的帮助。
答案 0 :(得分:3)
您可以将它们添加到一起:
insert into timerest (date_asign, time_asign)
values (to_date('15/02/2016 18:00:00', 'DD/MM/YYYY HH24:MI:SS'),
to_dsinterval('+00 02:00:00.000000'));
alter session set NLS_DATE_FORMAT = 'DD/MM/YYYY HH24:MI:SS';
select date_asign + time_asign from timerest;
DATE_ASIGN+TIME_ASIGN
---------------------
15/02/2016 20:00:00
遵循datetime/interval arithmetic的规则:date + interval = date。
答案 1 :(得分:0)
如果你有DATE格式的日期,你可以简单地添加一个代表天数的数字区间(例如1.5是1天半)
您可以从时间间隔中提取天数和小时数,然后将它们添加到您的日期,因为如果我没记错的话,您无法直接将它们添加到日期类型(可能是时间戳类型)
要提取日期,您可以使用提取功能: ( 提取(第二次来自TIME_ASIGN)/ 3600)+(提取(从TIME_ASIGN开始的小时)/ 24)+(提取(从TIME_ASIGN开始的日期)/ 24)
然后将数字添加到DATE_ASIGN