我如何知道sqlserv中的重复值 [英] How can I know recurrence value in sqlserv

查看:60
本文介绍了我如何知道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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆