如何在SQL中的日期之间取得区别

问题描述 投票:0回答:2

我已经看到了其他的答案,但我的问题是不同的,因为我想得到两个日期之间的差异,并在where条款中使用它,但它要求我输入天来获得差异。日期来自我的数据库。

Select datediff(D, cid, ced) as theDateDiff
from customers 

Select datediff(D, cid, ced) as theDateDiff
from customers where theDateDiff>=5
sql ms-access datediff
2个回答
1
投票

假设cidcedcustomers表中的字段,您可以尝试以下方法:

select * from customers c where datediff("d", c.cid, c.ced) >= 5

1
投票

请考虑以下两个涉及MS Access SQL的问题:

  1. 在大多数情况下,除了一些例外,您不能在同一级别查询的其他部分中使用计算列的别名。但是,如果驻留在另一个查询或子查询中,则可以使用此类别名。 SELECT * FROM (SELECT *, DateDiff("d", cid, ced) AS theDateDiff FROM customers) sub where theDateDiff >= 5
  2. MS Access中的DateDiff函数与SQL Server的DateDiff不同,后者似乎是您使用未引用的D作为第一个参数的版本。请记住,即使在同一母公司下,关系数据库世界中也没有两种方言完全相同。 因此,用DateDiff(D, cid, ced)取代DateDiff("d", cid, ced)。 为了引用除Microsoft之外的另一个例子,Oracle(公司)现在管理MySQL,这是一个非常不同的RDBMS,与旗舰数据库有很多不同的方言:Oracle。
© www.soinside.com 2019 - 2024. All rights reserved.