Oracle SQL:在日期中添加小时

时间:2018-10-05 04:36:09

标签: sql oracle

从2001年7月20日10:40:12的日期/时间开始,显示以下结果表。使用双重表格。

  • 减去2天
    结果:18-jul-01 10:40:12

  • 添加半天
    结果:01年7月20日22:40:12

  • 加4个半小时
    结果:01年7月20日15:10:12

1 个答案:

答案 0 :(得分:2)

假设您正在使用Oracle数据库(基于对Dual表提示的提及),则可以执行以下操作:

select to_char(to_date('2001-07-20 10:40:12', 'YYYY-MM-DD HH:MI:SS') - 2, 'DD-MON-YY HH:MI:SS') from dual;
select to_char(to_date('2001-07-20 10:40:12', 'YYYY-MM-DD HH:MI:SS') + 1/2, 'DD-MON-YY HH:MI:SS') from dual;
select to_char(to_date('2001-07-20 10:40:12', 'YYYY-MM-DD HH:MI:SS') + 4.5/24, 'DD-MON-YY HH:MI:SS') from dual;

该解决方案利用了一个事实,即在日期上加上一个分数实际上会在该日期上加上一天的相应分数。其余代码处理与不同日期格式之间的转换。