alter table 表名 add constraint CK_Date check(日期字段 between cast('1900-1-1' as datetime) and cast('2990-1-1' as datetime))check约束简介:
在数据库中,CHECK
约束是指约束表中某一个或者某些列中可接受的数据值或者数据格式。例如,可以要求
authors
表的
postcode
列只允许输入六位数字的邮政编码。
CHECK
约束可以应用于一个或者多个列,也可以将多个CHECK
约束应用于一个列。
当除去某个表时,对这个表的CHECK
约束也将同时被去除。
以目前三大主流数据库oracle,mysql,sqlserver分别说明。如果是oracle,需要用to_date函数将字符型数据转换,插入到数据库的日期型数据中。
如:
1
2
3
4
5
create
table
test
(cdate
date)
insert
into
test
values
(to_date('2015-08-13','yyyy-mm-dd'))
commit
如果是mysql或者sqlserver,可直接以字符形式插入,数据库会自动将字符转成日期。
1
2
3
4
create
table
test
(cdate
datetime)
insert
into
test
values
('2015-08-13')
需要注意:oracle中插入后需要commit(提交),否则在关闭当前会话后,插入是不成功的
alter table t_studentadd add constraint ck_birth check(birth<to_date('2000-01-01','yyyy-mm-dd'))
月份处和日期处是2位,必须要是01-01 这样的
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)