SQLServer约束中的Dateadd

时间:2014-10-11 16:19:48

标签: sql-server tsql date

我有这个约束

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

当我尝试插入此语句时,此约束不允许我这样做。

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

我在这里弄错了什么?

1 个答案:

答案 0 :(得分:2)

约束不允许您插入该记录,因为当前日期减去21年(此时为1993-10-11)不满足条件:

1989-09-24 > 1993-10-11

假设您的意思是仅允许21岁及以上的人,请将约束更改为

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