【发布时间】:2014-11-16 06:22:13
【问题描述】:
我想问一下是否有任何可能的方法来对 datetime 列进行检查约束,确保该列是在 11 月或 5 月。
Create Table TestDate (
.....
.....
date datetime not null default '14/11/2012'
...
...
constraint dateCheck check *date must be either November or May*
非常感谢您的帮助!
编辑:补充问题,
是否可以将日期列的默认值设置为“2012 年 11 月 14 日”而不是“14/11/2012”?我知道它使用的是日期时间数据类型,除非更改为字符串(char/varchar)数据类型,否则无法更改?
【问题讨论】:
-
您已经为 MySQL 和 SQL Server 标记了这个。您正在使用这两个数据库中的哪一个?语法可能会有所不同。
-
抱歉,这是 sql-server
-
@Daniel:您已经对列使用 NOT NULL 约束,现在将不考虑默认值,因为您不允许在 INSERT 时跳过此列。
-
@PareshJ 从技术上讲,这是有道理的,但是否可以将默认值设置为“2012 年 11 月 14 日”而不是“2012 年 11 月 14 日”?我会将值从另一个表复制到此表,并且不会填满此列。
-
@PareshJ 因此可以直接将默认值设置为“2012 年 11 月 14 日”。谢谢!
标签: sql-server datetime constraints ddl