使用 datediff 检查约束

Check constraint using datediff

新 SQL

我遇到了一个问题,我试图实施一个约束来检查 table 中的两个日期字段。约束应确保日期差异大于 7 天且小于 3 个月。

这是我试过的,但似乎没有用。

ALTER TABLE [dbo].[SA_Rental]  WITH CHECK ADD  CONSTRAINT 
[CHK_RentalDuration] CHECK  ((datediff(day,[DateRenting],            
[DateReturning])>(7)))
GO

ALTER TABLE [dbo].[SA_Rental]  WITH CHECK ADD  CONSTRAINT     
[CHK_RentalDuration1] CHECK  ((datediff(month,[DateRenting], 
[DateReturning])<(3)))
GO

ALTER TABLE [dbo].[SA_Rental] CHECK CONSTRAINT [CHK_RentalDuration]
GO

任何关于我哪里出错的想法或任何建议都将不胜感激。

提前致谢。

尝试添加一张有两个日期限制的支票:

ALTER TABLE [dbo].[SA_Rental] WITH CHECK
ADD CONSTRAINT [CHK_RentalDuration]
CHECK (DATEDIFF(day, [DateRenting], [DateReturning]) > 7 AND
       DATEDIFF(month, [DateRenting], [DateReturning]) < 3);

感谢您的回复。仔细查看后,我意识到它正在工作,但没有按照我的意愿进行,所以我认为它没有工作。我只是基本上将其从“<7”更改为“<=7”,并且几个月都一样。

谢谢你们的回复,谢谢你们。