SQL新手
我遇到一个问题,我试图实施一个约束来检查表中的两个日期字段。约束条件应确保日期差大于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
关于我哪里出了问题的任何想法,或者任何建议,将不胜感激。
谢谢。
答案 0 :(得分:1)
尝试添加具有两个日期限制的一张支票:
ALTER TABLE [dbo].[SA_Rental] WITH CHECK
ADD CONSTRAINT [CHK_RentalDuration]
CHECK (DATEDIFF(day, [DateRenting], [DateReturning]) > 7 AND
DATEDIFF(month, [DateRenting], [DateReturning]) < 3);
答案 1 :(得分:0)
感谢您的答复。仔细检查之后,我意识到它正在工作,但是没有按照我想要的去做,所以我认为它没有用。我只是基本上将其从“ <7”更改为“ <= 7”,几个月来也一样。
无论如何,感谢您的回复,谢谢。