【问题标题】:Need to add constraint: date plus 10 days需要加约束:日期加10天
【发布时间】:2012-11-23 22:25:04
【问题描述】:

我正在尝试向表中添加一个约束,以便将其中一列显示为当前日期加上 10 天。这是我迄今为止尝试过的(我对 SQL 很陌生):

ALTER TABLE         orders
ADD CONSTRAINT  default_date
DEFAULT         DATEADD (DAY,10,required_date) FOR required_date

停下来!

编辑:我现在也试过了:

ALTER TABLE         orders
ALTER COLUMN        required_date
ADD CONSTRAINT      required_date_plus_ten
DEFAULT             DATEADD (DAY,10,required_date)

编辑:感谢 ypercube 和我的同学。最终代码为:

ALTER TABLE       orders
ADD CONSTRAINT    default_date
DEFAULT           (DATEADD (DAY,10,'required_date')) FOR required_date;

【问题讨论】:

  • 您使用的是哪个 DBMS?甲骨文? PostgreSQL?
  • 您确定要约束吗?也许你想要一个视图中的计算列(返回一些现有的列加上 10 天)......
  • 我正在使用 Microsoft SQL 管理服务器。我正在做一个学校项目,它说要添加约束:'required date'(我要添加约束的列名)应该默认为今天的日期加上 10 天。
  • 那么是的,这个术语的使用非常松散,它实际上是一个计算字段。此外,约束实际上不能针对“当前”日期,否则永远不会达到。

标签: sql constraints default alter dateadd


【解决方案1】:

SQL-Server 中用于将DEFAULT 值添加到现有列的语法是:

ALTER TABLE     orders
ADD CONSTRAINT  required_date_plus_ten
DEFAULT         DATEADD(day, 10, GETDATE())
FOR             required_date ;

SQL-Fiddle

中测试

【讨论】:

  • 是的,非常感谢。我的同学也帮我解决了这个问题。我将发布我的最终代码。
猜你喜欢
  • 1970-01-01
  • 2017-07-17
  • 2017-10-07
  • 2015-05-19
  • 2021-03-27
  • 1970-01-01
  • 1970-01-01
  • 2022-01-14
  • 1970-01-01
相关资源
最近更新 更多