使用 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”,并且几个月都一样。
谢谢你们的回复,谢谢你们。
新 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”,并且几个月都一样。
谢谢你们的回复,谢谢你们。