我们有一个接收4个变量并返回一个int结果的函数。 我们希望将这个函数用于表格中的每个记录,而这4个变量是从每个记录中提取的。如何求和sql中的循环中的函数?
我该如何解决?
我的功能:
CREATE FUNCTION dbo.occupiedDaysPerListingFunction(@CheckIn date, @CheckOut date, @Email varchar(80), @Title varchar(50))
RETURNS int
AS
BEGIN
DECLARE @nightsInRange int
select @nightsInRange= (CASE
WHEN DATEDIFF(day,@CheckIn,getdate()) >0 and DATEDIFF(day,@CheckOut,getdate())+100 <0 THEN 100
WHEN DATEDIFF(day,@CheckIn,getdate()) >0 and DATEDIFF(day,@CheckOut,getdate())+100 >0 THEN DATEDIFF(day,getdate(),@CheckOut)
WHEN DATEDIFF(day,getdate(),@CheckIn) >0 and DATEDIFF(day,getdate(),@CheckIn) <100 and DATEDIFF(day,@CheckOut,getdate())+100 >0 THEN DATEDIFF(day,@CheckIn,@CheckOut)
WHEN DATEDIFF(day,getdate(),@CheckIn) >0 and DATEDIFF(day,getdate(),@CheckIn) <100 and DATEDIFF(day,@CheckOut,getdate())+100 <0 THEN DATEDIFF(day,@CheckIn,getdate())+100
WHEN DATEDIFF(day,@CheckIn,getdate()) <0 THEN 0
END)
FROM [dbo].[ORDERS] o
WHERE o.[E-mail] = @Email and o.[title][email protected]
RETURN @nightsInRange
end
您的问题的标题提到“总和”,但没有出现在问题中。为什么不? – HABO