【问题标题】:How to add 2 dates in Oracle sp? [closed]如何在 Oracle sp 中添加 2 个日期? [关闭]
【发布时间】:2012-10-08 22:17:18
【问题描述】:

我们如何在 oracle 中添加两个日期?例如在sql中我们可以这样做,“date_1 + date_2”我们如何在Oracle中实现同样的事情

【问题讨论】:

  • 如何定义两个日期的总和?对'1999-12-31' + '2012-10-18' 有什么期望?
  • 你指的是什么sql?添加两个日期是没有意义的。您可以为日期添加间隔。
  • 2个日期相加你想要什么结果?
  • 两个日期相加的预期结果是什么?您将如何添加日期?
  • 正确的方法是将 1 个日期转换为数字,但是当我将日期转换为数字时,我在 oracle 查询中看到另一个异常

标签: oracle date-arithmetic


【解决方案1】:

将两个日期加在一起没有意义,但您可以为时间戳添加一个间隔。例如,将 1 年 10 个月添加到时间戳:

SELECT SYSDATE + INTERVAL '1-10' YEAR TO MONTH FROM DUAL;

您还可以使用简单的算术将天数添加到 DATE 列。例如,您可以使用以下命令将 45 天添加到当前日期:

SELECT CURRENT_DATE + 45 FROM DUAL;

【讨论】:

  • 例如,SELECT SYSDATE + TO_NUMBER(1) FROM DUAL 这行得通。它将给出 10 月 19 日的结果。但是这两个不编译 SELECT SYSDATE + SYSDATE FROM DUAL(+ 有问题) SELECT SYSDATE + TO_NUMBER(SYSDATE) FROM DUAL(有无效数字问题)
  • SELECT SYSDATE + SYSDATE FROM DUAL 的预期结果是什么?
  • 我们想要执行以下操作:2012 年 10 月 18 日 + 2012 年 10 月 19 日
  • 结果为 2012 年 10 月 20 日
  • 2012 年 10 月 18 日 + 2012 年 10 月 19 日如何使 2012 年 10 月 20 日成为我无法理解的...... 2012 年 10 月 1 日 + 2012 年 10 月 19 日呢?
猜你喜欢
  • 1970-01-01
  • 2017-06-02
  • 1970-01-01
  • 1970-01-01
  • 2013-12-17
  • 1970-01-01
  • 2021-02-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多