我有一个名为“会员”
的表格列名为“ AffiliationDate (datetime,null)”2016-04-30 00:00:00.000
从属关系期间从(示例)开始运行: 2016年7月7日至2017年 - 06 - 30
现在我想查看会员 AffiliationDate 是否对此期间有效
我试图这样做没有成功,希望有一些提示方向。
提前致谢, 里克
答案 0 :(得分:0)
使用 CASE
表达式检查AffiliationDate
BETWEEN
日期范围。
<强>查询强>
SELECT *,
CASE WHEN [AffiliationDate] BETWEEN '2016–07–01' AND '2016–07–30'
THEN 'Valid' ELSE 'Invalid' END AS [Status]
FROM [Members];
答案 1 :(得分:0)
试试这个:
DECLARE @StartDate DATETIME = (Define your start date)
DECLARE @EndDate DATETIME = (Define your end date)
SELECT *
FROM Members
WHERE AffiliationDate BETWEEN @StartDate AND @EndDate
基本上,您不需要声明这两个变量。我在这里使用的方式应该使查询清楚。 Damien_The_Unbeliever提到的方法应该适合你。此外,您可以使用DATEADD()
函数来复制开始日期和结束日期(有关详细信息,请参阅https://msdn.microsoft.com/en-us/library/ms186819.aspx)。希望这会有所帮助。