【发布时间】:2011-10-29 21:02:49
【问题描述】:
为了学习,我一直在写一些关于 SQL Server 的查询。
我想知道如何在 SQL 查询中获得今天与 90 天前的差异?
【问题讨论】:
-
查找 DATEDIFF(): msdn.microsoft.com/en-us/library/ms189794.aspx
-
今天和90天前的区别?我相当确定这是一个常数(忽略 DST 变化、闰秒等):-)
-
是的,我找到了 DATEDIFF,但我做不到,选择 datediff([....], ..., getdate()) 但我不知道如何使用我只想从中获取日期现在到 3 个月前,也就是说今天的日期 18.08.2011,我想找到 18.05.2011
-
不,我认为是 DATEADD(MONTH, -3, GETDATE()) 因为他说他想要 05/18 给定 08/18。尽管如此,这也会返回当前时间,而不是午夜,这通常是范围查询所必需的。看我的回答。此外,对于 SQL Server 2008,我建议改掉对日期时间使用隐式数学的习惯,因为它不适用于新类型(日期、日期时间 2 等)。
标签: sql sql-server sql-server-2005 sql-server-2008 date-arithmetic