我试图从函数本身调用一个函数,但它给了我错误
“CalculateHoursBetweendates”不是可识别的内置函数名。
我知道这是因为我没有创建函数,但是我从函数本身内部调用它。
这是我的代码:
create function CalculateHoursBetweenDates
(@start varchar(50),
@end varchar(50),
@days int = 0)
returns int
as
begin
declare @dayDiff int = DATEDIFF(d, @start, @end) + DATEPART(dw, @start)
if(@dayDiff > 6)
begin
set @days = @days + (DATEPART(dw, @start) -7)
set @start = DATEADD(d, 7 - (datepart(dw, @start) - 2), @start)
return CalculateHoursBetweenDates(@start, @end, @days)
end
return @days + DATEDIFF(d, @start, @end)
end
我说的是错误的方式还是什么?是否必须先创建一个空函数?我不明白