gpt4 book ai didi

sql - 如何运行 "Today' s"date from 12 :00am to 11:59PM 的查询

转载 作者:行者123 更新时间:2023-12-03 01:55:59 24 4
gpt4 key购买 nike

我有一个简单的查询,可以提取当天的付款报告。我想自动执行此操作以每晚发送,但是我希望报告每天运行在当天中午 12:00 - 晚上 11:59...我将在晚上 9:00 发送报告,所以我想如果更容易的话,只需在晚上 9:00 之前到达即可。

这是我的查询:

SELECT        COUNT(*) AS Number, SUM(dblPayoutAmt) AS Amount
FROM Payouts
WHERE (dtCreated BETWEEN @startdate AND @enddate)

最佳答案

不要使用 BETWEEN,使用 >= 开始日期和 < 结束日期之后的一天:

WHERE (dtCreated >= @startdate AND dtCreated < DATEADD(day, 1, @enddate))

原因是 BETWEEN 会查找到结束日期的凌晨 12:00,但不会超过该时间。

已更新

对于今天的日期,您可以执行以下操作:

WHERE DATEADD(dd, 0, DATEDIFF(dd, 0, dtCreated)) = DATEADD(dd, 0, DATEDIFF(dd, 0, GETDATE()))

这将检查其 dtCreated 是否等于今天的某个点。

已更新

正如 @ScottChapman 所指出的,您可以通过直接转换为 DATE 类型来完成相同的操作,而无需转换体操。不过,此类型仅在 MSSQL 2008 及更高版本中可用。

关于sql - 如何运行 "Today' s"date from 12 :00am to 11:59PM 的查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13960132/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com