注册 登录
编程论坛 SQL Server论坛

SQL server

傻傻的呆子 发布于 2015-10-28 21:10, 1099 次点击
请问数据库中,检查约束check日期不能超过系统时间,这个怎么写?
4 回复
#2
mxbing19842015-10-29 08:57
create TAble 表1
(
 卡号 Varchar(10),
 日期 datetime check(日期<=getdate())
)
 
--超过当前日期2毫秒可以插入,3毫秒就不允许,这是sql的日期精度误差
insert into 表1 values('00',GETDATE())
insert into 表1 values('00',dateadd(ms,1,GETDATE()))
insert into 表1 values('00',dateadd(ms,2,GETDATE()))
insert into 表1 values('00',dateadd(ms,3,GETDATE()))
insert into 表1 values('00',dateadd(mi,1,GETDATE()))
 
#3
半夏雨巷2015-10-29 12:19
创建表和对属性进行约束可以同时写吗?我刚刚学的是创建表和进行约束分开写的,你可以试试
create TAble 表1
(
卡号 Varchar(10) NOT NULL,
日期 datetime
)
ALTER TABLE 表1
ADD CONSTRAINT CK_日期 CHECK(日期<=getdate())
#4
tlliqi2015-11-01 23:22
可行
#5
mature1192022-09-01 20:14
1