数据库的date
类型字段支持范围是公元前 4713 年至未来的任何日期。
实际业务上有时候会出现一些明显有问题的数据(比如说0027-10-01),这种数据是符合数据库规范允许插入表的,但实际是有问题的,不想这种数据被插入表。
这时就可以在相应的字段上添加检查约束。
Vertica约束有以下几类: - 主键约束 - 外键约束 - 唯一键约束 - 非空约束 - 检查约束
复制
这里的检查约束(Check Constraints)就可以在字段上做一些限制条件,不符合这一限制条件的就会被拒绝插入表。
drop table a;
create table a(
c1 date,
CONSTRAINT c1morethan2010 CHECK (YEAR(c1)>2010) --设置检查插入的数据年份必须大于2010年
);
insert into a values('0027-10-01');
ERROR 7230: Check constraint 'public.a.c1morethan2010' (year(a.c1) > 2010) violation: 'c1=0027-10-01'
--因为‘0027-10-01’这一数据的年份为0027年,小于设置的约束“CHECK (YEAR(c1)>2010)”而被拒绝。
insert into a values('2011-10-01');
commit;
OUTPUT
--------
1
(1 row)
select * from a ;
c1
------------
2011-10-01
(1 row)
复制
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。