Работа над функцией, которая должна возвращать дату.Но я получаю эту ошибку, и я не уверен, как ее исправить
if (@flow_date = eomonth(@flow_date) or day(@flow_date) < day(@lMaturityDate)) begin
set @lMaturityDate = eomonth(@lMaturityDate);
end
else begin
if month(@lMaturityDate) < 10 BEGIN
set @month=concat('0',month(@lMaturityDate));
end
else Begin
set @month=month(@lMaturityDate);
END
set @lMaturityDate =convert(date,concat(year(@lMaturityDate),'-',@month,'-',day(@flow_date)))
end
END
return isnull(@lMaturityDate,null);
END
Пример кода, который опровергает ошибку, я просто заметил, что она выдает ошибку на месяцы, превосходящие 10
declare @month varchar(40);
declare @lMaturityDate date = '2019-11-31'
declare @flow_date date = '2019-04-25'
if month(@lMaturityDate) < 10 BEGIN
set @month=concat('0',month(@lMaturityDate));
end
else Begin
set @month=month(@lMaturityDate);
END
set @lMaturityDate =convert(date,concat(year(@lMaturityDate),'-',@month,'-',day(@flow_date)))
select @lMaturityDate