MsSQL/Classic ASP-从时间a到时间b的Select语句
我有一个相当复杂的查询,我需要扩展,但不知道如何进行 目前,我正在使用下面的查询来输出一些值MsSQL/Classic ASP-从时间a到时间b的Select语句,sql,sql-server,asp-classic,Sql,Sql Server,Asp Classic,我有一个相当复杂的查询,我需要扩展,但不知道如何进行 目前,我正在使用下面的查询来输出一些值 SELECT CONVERT(CHAR(8), pay.PaidUntil, 10) as LastDay, COUNT(*) As PaymentsDue, SUM(sales.Amount) As TotalDue FROM UserPaidUntil pay INNER JOIN Sales sales ON pay.Sales_ID = sales.Sale
SELECT CONVERT(CHAR(8), pay.PaidUntil, 10) as LastDay,
COUNT(*) As PaymentsDue,
SUM(sales.Amount) As TotalDue
FROM UserPaidUntil pay INNER JOIN Sales sales
ON pay.Sales_ID = sales.Sales_ID
WHERE pay.PaidUntil > getDate()
AND pay.PaidUntil < DateAdd(day, 10, getDate())
AND pay.Billing_ID = 2
GROUP BY CONVERT(CHAR(8), pay.PaidUntil, 10)
ORDER BY CONVERT(CHAR(8), pay.PaidUntil, 10)
选择CONVERT(CHAR(8),pay.PaidUntil,10)作为最后一天,
将(*)算作付款用途,
应付总额(销售额、金额)
从UserPaidUntil支付内部加入销售
ON pay.Sales\u ID=Sales.Sales\u ID
其中pay.PaidUntil>getDate()
和pay.PaidUntil
目前,该脚本获取两个日期之间的值,相隔10天,然后按日期分组
现在我需要做的是更改sql,使每天实际上从A天的上午10:01到B天的上午10:00
UserPaidUntil.PaidUntil是包含日期的字段
我不知道从哪里开始,所以我想我会问是否有人可以帮助我
干杯我没有这句话的测试人员。。它将是这样的:
SELECT CONVERT(CHAR(8), DateAdd(hour, 10, pay.PaidUntil), 10) as LastDay,
COUNT(*) As PaymentsDue,
SUM(sales.Amount) As TotalDue
FROM UserPaidUntil pay INNER JOIN Sales sales
ON pay.Sales_ID = sales.Sales_ID
WHERE DateAdd(hour, 10, pay.PaidUntil) > getDate()
AND DateAdd(hour, 10, pay.PaidUntil) < DateAdd(day, 10, getDate())
AND pay.Billing_ID = 2
GROUP BY CONVERT(CHAR(8), DateAdd(hour, 10, pay.PaidUntil), 10)
ORDER BY CONVERT(CHAR(8), DateAdd(hour, 10, pay.PaidUntil), 10)
选择CONVERT(字符(8),DateAdd(小时,10,pay.PaidUntil),10)作为LastDay,
将(*)算作付款用途,
应付总额(销售额、金额)
从UserPaidUntil支付内部加入销售
ON pay.Sales\u ID=Sales.Sales\u ID
其中DateAdd(小时,10,pay.PaidUntil)>getDate()
和DateAdd(hour,10,pay.PaidUntil)
你的意思是UserPaidUntil.PaidUntil
在datetime数据类型中吗?@Charlesliam PaidUntil列是datetime yesClose,但没有雪茄。数字不太相符。我知道你增加了10个小时,将循环时间延长到上午10:00,但循环时间从上午10:01开始,到第二天上午10:00结束。您需要在开始时增加1分钟。