如何检查开始日期和结束日期与今天日期的比较? [英] How to check comparasion of start date and end date with todays date ?

查看:109
本文介绍了如何检查开始日期和结束日期与今天日期的比较?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述





我想检查我的开始日期和结束日期是否符合我的scnerio



开始日期应该是> = getdate()和enddate< = getdate()



但我没有得到正确的记录



以下是我到目前为止所尝试的



Hi ,

I am trying to check if my start date and end date is as per my scnerio or not

start date should be >= getdate() and enddate <= getdate()

but i am not getting proper records

below is what I have tried so far

Declare @LoggedUserID int =4

SELECT
   m.*,
   d.DivisionName,
   l.Name LocationName,
   l.Code LocationCode,
   CASE 
      WHEN mr.MarketingUpdateUnReadID IS NULL THEN CAST(1 AS BIT)
      ELSE CAST(0 AS BIT)
   END IsRead
   FROM MarketingUpdate m
      INNER JOIN F_UserDivisions(@LoggedUserID) d on m.DivisionID = d.DivisionID
      INNER JOIN F_UserLocationHierarchy(@LoggedUserID) l on m.LocationID = l.LocationID
      LEFT JOIN MarketingUpdateUnRead mr on m.MarketingUpdateID = mr.MarketingUpdateID AND mr.UserID = @LoggedUserID
   WHERE cast(m.StartDate as date) >= cast(GETDATE() as date)
      AND (m.EndDate IS NULL OR cast(m.EndDate as date) <= cast(GETDATE() as date))
      AND m.IsInActive = 0

推荐答案

您好,



尝试以下查询





Hi,

Try Below query


WHERE DateDiff(d,@FromDate,GetDate()) >= 0
                 AND DateDiff(d,@ToDate,GetDate())<= 0


使用BETWEEN:

Use BETWEEN:
... WHERE m.IsInActive AND (m.EndDate IS NULL OR CAST(GETDATE() AS DATE) BETWEEN m.StartDate AND m.EndDate)


这篇关于如何检查开始日期和结束日期与今天日期的比较?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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