检查日期是否在今年5月初到明年5月底之间

时间:2014-05-09 09:30:33

标签: sql sql-server date

我有一个返回日期的查询。例如2013-10-12。

我想检查日期是在一年的6月1日和一年的最后一天之间。

如果是在这些日期之间,则将年份增加1,否则将年份保留原样。

所以,以上面的例子2013-10-12为例,我想要的结果是2014年。 如果是2013-01-12我想要的结果是2013年。

我希望这是有道理的。

3 个答案:

答案 0 :(得分:1)

Declare @Yourdate datetime = '2013-10-13'

SELECT CASE WHEN 
(@Yourdate between '2013-06-01' and  DATEADD(yy, DATEDIFF(yy,0,getdate()) + 1, -1) ) 
THEN YEAR(@Yourdate) + 1 ELSE (YEAR(@Yourdate) ) END AS [YEAR]

答案 1 :(得分:1)

declare @arg datetime
set @arg = '01/12/2013'

select 
case when month(@arg) > 5 then year(@arg) + 1 else year(@arg) end

答案 2 :(得分:1)

declare @var varchar(20) = '2013-01-12';

select case when Month(convert(datetime,@var ,120)) > 5 then Year(convert(datetime,@var ,120)) + 1 else Year(convert(datetime,@var ,120)) end
相关问题