使用查询SQL Server 2005选择DATEADD分钟

时间:2013-11-14 15:58:30

标签: sql sql-server dateadd

SELECT
   [NAMENO],
   [FIRSTNAME],
   [MIDNAME],
   [LASTNAME],
   [SEX],
   [STATUSOF],
   [RELEASEDT],
   CONVERT(VARCHAR(10), DOBDT, 101) AS DOBDT 
FROM
   database
WHERE 
   ReleaseDT >= dateadd(minute,datediff(minute,60,GETDATE()),0)
   AND ReleaseDT < dateadd(minute,datediff(minute,0,GETDATE()),0)

如果有意义的话,我想在过去60分钟内让任何有“发布”的人?现在它拉了最后60天..

有什么建议吗?

1 个答案:

答案 0 :(得分:3)

只是:

where ReleaseDT >= dateadd(minute, -60, getdate())
and ReleaseDT <= getdate()

嵌套dateadddatediff(就像您在问题中的代码中所做的那样)不是必需的。
实际上,datediff计算两个日期时间值之间的差异(小时,分钟......等等),因此当您只想获得“现在减去60分钟”时,根本不需要它。