我有两个存储过程:
CREATE PROCEDURE GetAge
@Birthday datetime,
@BirthDayAge INT OUTPUT
AS
SELECT @BirthDayAge = YEAR(GETDATE()-DATEPART(dy, @Birthday) + 1)-YEAR(@Birthday);
CREATE PROCEDURE AgeProc
@Age int
AS
DECLARE @BirthDayAge INT;
EXEC GetAge @Age, @BirthDayAge OUTPUT
SELECT ... FROM ... WHERE @BirthdayAge = @Age;
出于某种原因,在测试时,第二个程序中没有返回任何结果。我在任何一个存储过程中都做错了吗?
答案 0 :(得分:1)
WHERE @BirthdayAge = @Age;
您正在比较2个变量。
这不应该是一个表格列吗?
另外,您将整数传递给日期时间,这可能会导致问题