需要帮助设计一个查询,告知付款到期前剩余的天数

时间:2014-11-16 03:49:46

标签: sql oracle sqlplus

所以我创建了一个包含以下列的Transaction表:tID,CustID,EmpID,DateBooked。 tID是主键。 CustID和EmpID是外键,它们引用customer表和employee表。

这是我到目前为止的SQL查询:

SELECT tID,DATE_ADD(DateBooked,INTERVAL 45 DAY) AS PaymentDueDate
FROM Transactions

以上代码将在预订日期后添加45天。我无法弄清楚的是如何找到付款到期前剩余的剩余天数。我想查询返回一些事情,比如“付款到期前12天”

我知道它与DATEDIFF有关,但我无法弄清楚如何让它无需进入两个日期。

我是全新的,所以请告知我是否走在正确的轨道上。

1 个答案:

答案 0 :(得分:0)

如果您正在使用Oracle(因为您删除了SQL Server标记并保留了SQL * Plus标记),您将不会使用DATEDIFF(这是SQL Server中的有效函数,但不是Oracle) 。您只需在日期中添加45。

SELECT tID, dateBooked + 45 as PaymentDueDate
  FROM transactions

如果你想使用间隔,你也可以

SELECT tID, dateBooked + interval '45' day as PaymentDueDate
  FROM transactions