Я не могу сказать, хотите ли вы, чтобы тип возвращаемого значения был date
или datetime
. Если date
, вы можете сделать:
(case when year(dateadd(minute, 1, datecol)) <> year(datecol)
then datefromparts(year(datecol) + 1, month(datecol), day(datecol))
else cast(datecol as date)
end)
Логика была бы аналогичной для datetime
, предполагая, что datecol
уже datetime
:
(case when year(dateadd(minute, 1, datecol)) <> year(datecol)
then datefromparts(year(datecol) + 1, month(datecol), day(datecol))
else datecol
end)