sql中的日期语法问题

sql中的日期语法问题,sql,oracle,date,syntax,alter,Sql,Oracle,Date,Syntax,Alter,尝试更改列的数据类型时,我不断收到此错误消息: alter table x modify column order_date date NOT NULL; 第1行出错 ORA-00905缺少关键字 我不确定哪里出了问题,因为我知道sql中有很多类型的日期 非常感谢MODIFY子句没有将COLUMN作为关键字。这将有助于: alter table x modify order_date date NOT NULL; 该语法记录在Oracle SQL参考中 我们只需要在列中包含具有几种不同可能性

尝试更改列的数据类型时,我不断收到此错误消息:

alter table x modify column order_date date NOT NULL;
第1行出错

ORA-00905缺少关键字

我不确定哪里出了问题,因为我知道sql中有很多类型的日期


非常感谢

MODIFY子句没有将COLUMN作为关键字。这将有助于:

alter table x modify order_date date NOT NULL;
该语法记录在Oracle SQL参考中

我们只需要在列中包含具有几种不同可能性的命令。例如,使用ALTER表。。。DROP命令,因为我们可以删除列、约束或分区

alter table x drop column order_date ;

“当我尝试输入NOT NULL时,它说表需要为空”

如果表中的所有行在
order\u date
列中都有值,则应该能够应用NOTNULL约束。您得到的错误消息非常清楚:

ORA-01758 table must be empty to add mandatory (NOT NULL) column

这意味着您的列中有些行没有值。因此,您需要更新表并用一些值填充这些行;您将使用什么作为默认值取决于您的业务规则

非常感谢您的回答,但当我尝试输入NOTNULL时,它说表需要为空,因此指定NOTNULL参数,这没有意义,因为该字段不应影响其余字段?ORA-01758表必须为空才能添加强制(NOTNULL)列