使用此代码:
ALTER PROCEDURE [dbo].[get](@i int)
AS
BEGIN
declare @ADate datetime
select @ADate = ADate
from table
where i=@i
and DateDiff(day ,getDate(), aDate ) > 0
and aDate is not null
order by aDate asc
return select @ADAte
END
这将返回 0(或系统 0 日期时间,这不是数据库的预期结果)。
执行代码
Declare @res datetime
exec @res = get 3
print @res
为什么?
最佳答案
SQL Server 中的存储过程只能返回整数。如果您需要返回单个整数以外的任何内容,那么您应该使用以下方法之一(前面的答案解释了一些):
关于sql-server - 存储过程返回值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4489137/