2014-10-11 56 views
-1

我有这样的约束DATEADD SQLServer中的约束

([dateOfBirth]>dateadd(year,(-21),getdate())) 

当我尝试插入此声明此约束不让我去。

INSERT INTO [dbo].[Customer] 
VALUES ('F1324','132456789','James','1989-09-24','Orchard Park, Tagore Lane'); 

什么是我在这里犯错?

+2

不应该是'<? – 2014-10-11 16:22:42

回答

2

的约束不会让你插入记录,因为当前日期减去21年(这将是1993-10-11在这个时候),不满足条件:

1989-09-24 > 1993-10-11

假设你的意思是只允许21岁及以上的人,将约束切换到

([dateOfBirth]<dateadd(year,(-21),getdate())) 
+0

是的,*脸掌* – JackyBoi 2014-10-11 17:03:55