0

我有手续

create procedure sp_ChildrenOlderThan5Years
as
select clientid,firstName,MidInitial, LastName, address, city, 'AK' as 'State', zip,DATEDIFF(YEAR,dob,GETDATE()) as age
from Clients
where CategCode = 'CH' and StatusID in (1,2,6) and DATEDIFF(YEAR,dob,GETDATE())>6
go

必须向我展示 6 岁以上的客户。但是我刚刚发现他们的年龄差不多,例如如果客户出生于 2007 年 7 月 20 日,它仍然会在列表中显示该客户,但他或她不是六岁。我知道中的问题DATEDIFF(YEAR,dob,GETDATE()),但不知道如何解决。
我只需要其中列出的年龄大于或等于 5 年零 10 个月的客户。

4

1 回答 1

1

由于您正在寻找年龄超过 5 岁零 10 个月(或相等)的人,请使用:

 datediff(month,dob,getdate()) >= 70
于 2013-04-18T22:46:26.187 回答