我如何知道sqlserv中的重复值 [英] How can I know recurrence value in sqlserv
问题描述
我必须根据2个日期之间的重复值将值1或0插入一列
我有2个日期开始日期和结束日期我提供了重复值(如果它是1,它应该每天考虑,如果它是2,它应该考虑明智的交替日期)。我怎么知道今天是考虑的日期
让我清楚地说明我的开始日期是20-06-2018,结束日期是7月份。如果我给出重复间隔3
我尝试过:
我试过下面
I have to insert value 1 or 0 to a column it is based on the recurrence value between 2 dates
I have 2 dates start date and end date and I provide recurrence value(if it is 1 it should consider everyday, if it is 2 it should consider alternate dates like wise). how can I know is today is the date to consider
let me tell clearly that my start date is 20-06-2018 and end date is on some july.
today will I get 1 or 0, if I give recurrence interval 3
What I have tried:
I have tried below
select PARSENAME((DATEDIFF(ww, '2018-06-25',CONVERT(DATE,GETDATE()))/3),1)
select PARSENAME((DATEDIFF(day, '2018-06-20',CONVERT(DATE,GETDATE()))/2),1)
推荐答案
如果我理解了你的要求,就像这样应该工作:
If I've understood what you're asking for, something like this should work:
DECLARE @Today date = GetDate();
DECLARE @StartDate date = '20180620';
DECLARE @EndDate date = '20180701';
DECLARE @RecurEveryDays int = 3;
SELECT CASE
WHEN @Today < @StartDate THEN CAST(0 As bit)
WHEN @Today > @EndDate THEN CAST(0 As bit)
WHEN (DateDiff(day, @StartDate, @Today) % @RecurEveryDays) != 0 THEN CAST(0 As bit)
ELSE CAST(1 As bit)
END;
%(模数)(Transact-SQL)| Microsoft Docs [ ^ ]
这篇关于我如何知道sqlserv中的重复值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!