Microsoft SQL 给定任何日期找出是否在特定月份和日期之后

Microsoft SQL given ANY DATE find out if AFTER specific month and day

我不是每天都使用 SQL 所以请多多包涵...我需要查明日期是否已经过了特定的月份和日期。如果不清楚,让我举个例子:

Ex: 给定一个日期:2012/02/08 (2012 Feb 08) 确定它是否在 07/01 (Jul 01) 在这种情况下 NO.

我需要某种通用查询来检查任何给定的完整日期(SQL 格式 smalldatetime)是否在 07/01 之后。基本上忽略年份部分,仅根据月份和日期进行验证。

解决方案:这是我在查询中使用它的方法

SELECT * 
FROM [dbo].[databaseName] 
WHERE DATEPART(mm, RCVD_DATE) >= 7 and DATEPART (DD, RCVD_DATE) >= 1

只会为您提供收到日期为 7 月 1 日或之后(忽略年份)的结果。

这是一个简单的脚本,可让您进行测试。重要的部分是案例陈述中的条件。在需要进行测试的地方使用它。

declare @date datetime
set @date = '2/8/2012'

select case when @date > cast('7/1/' + cast(year(@date) as varchar(10)) as datetime) then 'yes'
            else 'no'
        end
select table.column from table 
where DATEPART(mm,table.column)>=7
and DATEPART(DD,table.column)>=1

在这种情况下,只有月份部分也适用。

Declare @smallDate smalldatetime 
Set @smallDate='2012/02/08'
IF (DATEPART(MM,@smallDate))>=7
select 1
else
select 0