Sql server 问题之间的Sql日期

Sql server 问题之间的Sql日期,sql-server,date,datetime,Sql Server,Date,Datetime,我正在写存储过程。我想得到日期介于每个星期二之间的表元素列表。我的意思是,例如,如果person exec程序今天的日期是2017-05-28,我想得到2017-05-23 00:00:00.000和2017-05-30 00:00:00.000之间的列表。如果今天的日期又是2017-05-23 00:00:00.000和2017-05-30 00:00:00.000之间的2017-05-28。如果日期为2017-05-01,则介于2017-04-25 00:00:00.000和2017-05-

我正在写存储过程。我想得到日期介于每个星期二之间的表元素列表。我的意思是,例如,如果person exec程序今天的日期是2017-05-28,我想得到2017-05-23 00:00:00.000和2017-05-30 00:00:00.000之间的列表。如果今天的日期又是2017-05-23 00:00:00.000和2017-05-30 00:00:00.000之间的2017-05-28。如果日期为2017-05-01,则介于2017-04-25 00:00:00.000和2017-05-02 00:00:00.000之间 . 我写

日期不起作用,它给出2017-05-30 00:00:00.000和2017-06-06 00:00:00.000,但必须是2017-05-23 00:00:00.000和2017-05-30 00:00:00.000

我怎样才能解决这个问题?提前感谢

试试这个

AND MatchDate>=dateadd(dd,datediff(dd,0,getdate())/7 * 7 + 1,0)
    AND MatchDate<dateadd(dd,datediff(dd,-7,getdate())/7 * 7 + 1,0)
AND MatchDate>=dateadd(dd,datediff(dd,0,getdate())/7 * 7 + 1,0)
    AND MatchDate<dateadd(dd,datediff(dd,-7,getdate())/7 * 7 + 1,0)