DB2 - 增加CURRENT_DATE

时间:2013-02-19 05:10:52

标签: sql date db2

我只是想将expire_date_membership设置为当前日期之后2年的日期,但不要接缝以使语法正确。 有人可以帮忙吗?

CREATE TABLE Members (
   pid INTEGER NOT NULL, 
   registration_date_membership DATE DEFAULT CURRENT_DATE, 
   expire_date_membership DATE DEFAULT (CURRENT_DATE + 24 MONTHS), 
   membership_fees DOUBLE, 
   overdue_fees DOUBLE, 
   PRIMARY KEY(pid),
   FOREIGN KEY (pid) REFERENCES Person)

错误讯息:

  

DB21034E该命令作为SQL语句处理,因为它是   不是有效的命令行处理器命令。在SQL处理期间   返回:SQL0104N发现了一个意外的令牌“DEFAULT”   “ate_memebership DATE”。预期的代币可能包括:“检查”。   SQLSTATE = 42601

2 个答案:

答案 0 :(得分:2)

你缺少WITH关键字。

您的查询应该是:

CREATE TABLE Members (
   pid INTEGER NOT NULL, 
   registration_date_membership DATE WITH DEFAULT CURRENT_DATE, 
   expire_date_membership DATE WITH DEFAULT (CURRENT_DATE + 24 MONTHS), 
   membership_fees DOUBLE, 
   overdue_fees DOUBLE, 
   PRIMARY KEY(pid),
   FOREIGN KEY (pid) REFERENCES Person)

更多:Default values

答案 1 :(得分:0)

希望这会对您有所帮助,但不是DATE数据类型,而是更改为TIMESTAMP。

  

registration_date_membership TIMESTAMP WITH DEFAULT CURRENT TIMESTAMP ,       expire_date_membership TIMESTAMP WITH DEFAULT TIMESTAMPADD(256,40,TIMESTAMP((CURRENT TIMESTAMP )),