【问题标题】:How to subtract 18 months from the current date in MS-ACCESS [closed]如何从 MS-ACCESS 中的当前日期减去 18 个月 [关闭]
【发布时间】:2014-02-10 18:09:54
【问题描述】:

选择过去一年半出生的所有婴儿?

SELECT name FROM Babies
WHERE   YEAR(Born_date) > YEAR (DATE())-1.5

这个 sql 查询对这样的事情有效还是我也应该涉及 MONTH 函数? 我想检索在过去 365+ (365/2) 天内出生的所有孩子(新生儿)。

【问题讨论】:

  • 请标记您正在使用的数据库系统
  • 给我们您的 RDBMS 名称(Oracle、MySQL 等)以及您的表设计和您想要实现的目标的描述将是最有帮助的。
  • 你试过了吗?您可以在您在这里发帖的时间内对其进行测试。
  • 我只是无法尝试,因为我们没有得到实际数据,所以基本上我可以测试一下并查看输出。我们刚刚获得了纸上的 ER 模型和纸上的查询。
  • 哇,你们杀了我!搁置这个,我只得到 10 分,因为他没有在 OP 中标记 RDBMS。很明显,他只是想从 sql 中的当前日期减去 18 个月。

标签: sql ms-access


【解决方案1】:

对于 MS-ACCESS,DateADD 应该可以工作。试试这样的:

select name 
from babies where birthdate >= DATEADD(month, -18, getdate()) 

【讨论】:

  • getdate() 不是 Access SQL 中的有效函数,month 将被解释为表字段或参数。 DateAdd("m",-18,Date()) 会更好。
  • @gord-thompson,你是对的。我忘记了 getdate() 没有用。干得好。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-11
  • 1970-01-01
  • 2016-10-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多