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
我不是每天都使用 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