我有下面的示例表定义。是否可以创建一个检查约束,其中受影响的列可以为空?
CREATE TABLE task (
# other definition
registered_date timestamp without time zone NOT NULL,
completed_date timestamp without time zone
# constraints
);
我计划对completed_date
进行约束检查,以便输入值不会小于registered_date
。这可能吗?
答案 0 :(得分:2)
是。检查约束自动接受NULL值。 Per documentation:
应该注意,如果检查,则满足检查约束 expression的计算结果为true或null值。由于大多数表达 如果任何操作数为null,它将评估为null值,它们不会 防止受约束列中的空值。确保一个 column不包含空值,描述了非null约束 在下一节中可以使用。
大胆强调我的。