这就是我想要做的。我将把下面的代码改成SP,它带有两个参数@startdate和@transactionDate,它将返回NextTransactiondate。逻辑是@startdate决定一周中的哪一天。 @NexttransactionDate应该等于transactiondate后面的那一天。因此在这个例子中,起始日是星期三,所以下一个交易日期应该是 - 2011-05-04'。在下面的代码中,它总是计算到星期五,但它应该根据当天动态计算。任何帮助表示赞赏?如果您通过日期,如何获得NextDayofWeek?
declare @TransactionDate datetime
declare @startDate datetime
declare @startDay int
declare @NextTransactionDate datetime
--Monday
set @TransactionDate = '2011-05-02'
--Wednesday
set @startDate = '2011-04-27'
set @startDay = datepart(dw,@startDate)
set @NextTransactionDate= DATEADD(DAY,(CASE DATEPART(DW,@TransactionDate)
WHEN 7 THEN 6
WHEN 6 THEN 7
ELSE 6 - DATEPART(DW,@TransactionDate)
END),@TransactionDate);
print @NextTransactionDate
@NextTransactionDate必须是周一到周五吗? – IMAbev 2011-05-20 20:57:29