SQL如何为列增加日期约束?

SQL如何为列增加日期约束?,第1张

可按如下语句加约束

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 这样的


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/7948280.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-11
下一篇 2023-04-11

发表评论

登录后才能评论

评论列表(0条)

保存