簡體   English   中英

如何在WHERE子句中合並日期范圍?

[英]How to incorporate date range in a WHERE clause?

我在MS SQL Server中運行以下SQL語句:

SELECT 
    COUNT(*)
FROM 
    [dbo].[QueueAuditTrail] with(nolock)
WHERE
    (queueenddatetime >= '2017-03-17 14:00:00.000' 
     AND queueenddatetime < '2017-03-17 16:36:00.000') 
    AND queuetype = 7
GROUP BY
    queuetype
HAVING
    COUNT(queuetype) < 100000;

queueenddatetime列是UTC格式的時間戳。 該SQL語句在給定的時間范圍內有效; 但是,我想配置WHERE語句以反映介於“大於或等於當前UTC時間減去20分鍾”和“小於當前UTC時間”之間的時間范圍(使用“ YYYY-MM-DD hh:mm :ss.xxx“)格式。 如何才能做到這一點?

在我看來這像sql-server。

使用dateadd()sysutcdatetime()

select count(*)
from [dbo].[QueueAuditTrail] with(nolock)
where queueenddatetime >= dateadd(minute,-20,sysutcdatetime())
  and queueenddatetime <  sysutcdatetime()
  and queuetype = 7
group by queuetype
having count(queuetype) < 100000
;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM