Sql 如何在postgres中执行此限制?
我创建了这个表:Sql 如何在postgres中执行此限制?,sql,postgresql,date,Sql,Postgresql,Date,我创建了这个表: create table sales( code varchar(3) saledate date, CONSTRAINT pk_codesale PRIMARY KEY (code) ); 日期将是每个月的第五天,但如果是星期一,则日期将是第二天,即第六天。您可以添加检查约束: check((extract(day from saledate) = 5 and -- 5. day of month
create table sales(
code varchar(3)
saledate date,
CONSTRAINT pk_codesale PRIMARY KEY (code)
);
日期将是每个月的第五天,但如果是星期一,则日期将是第二天,即第六天。您可以添加检查约束:
check((extract(day from saledate) = 5 and -- 5. day of month
extract(dow from saledate) <> 1) -- but no monday
or
(extract(day from saledate) = 6 and -- 6. day of month
extract(dow from saledate) = 2) -- and tuesday
)
可以添加检查约束:
check((extract(day from saledate) = 5 and -- 5. day of month
extract(dow from saledate) <> 1) -- but no monday
or
(extract(day from saledate) = 6 and -- 6. day of month
extract(dow from saledate) = 2) -- and tuesday
)
你的问题是什么?我不明白你想做什么。我试着做限制,但什么也没做。你的问题是什么?我不明白你想做什么。我试图做限制,但什么都没有。谢谢你的回答,但有一种方式,所有这些都是默认完成的?@postgresqlx12:默认是什么意思?将此检查添加到创建表时,每当您尝试插入“错误”值时,PostgreSQL将返回错误消息。检查约束可防止输入错误数据。但它不会将数据更改为正确的日期。@GordonLinoff:现在我知道了,OP谈到了限制。谢谢你的回复,但是有一种方法可以让所有这些都默认完成?@postgresqlx12:默认是什么意思?将此检查添加到创建表时,每当您尝试插入“错误”值时,PostgreSQL将返回错误消息。检查约束可防止输入错误数据。但它不会将数据更改为正确的日期。@GordonLinoff:现在我知道了,OP谈到了限制。