2017-10-19 95 views
0

我有一个任务,每天更新数据到主表,即我添加一个名为'今日'的数字到我的主表,并成功写入数据,但无法重命名列与今天SYSDATE重命名列名到sysdate

ALTER TABLE DATA_HIST 
RENAME COLUMN TODAY TO SYSDATE; 

了无效的标识符错误上面的脚本

也与TO_CHAR以下尝试,但不成功提前

ALTER TABLE DATA_HIST 
RENAME COLUMN TODAY TO TO_CHAR(SYSDATE); 

谢谢 纳什

+6

我假设SYSDATE是一个保留字。尝试“SYSDATE”,或者选择一个更好的列名称。 – jarlh

回答

4

用双引号逃离列名:

ALTER TABLE DATA_HIST 
RENAME COLUMN TODAY TO "SYSDATE"; 

但一般而言,您应避免关键字或系统函数名后命名的表和列。

+0

upvoted避免那些东西。当你不需要时,不要在将来的查询中创建错误的可能性。 – Magisch

+0

@Magisch有时候我们会遇到这样的事情,但是最好避免潜在的问题。 –

+0

只是需要避免的另一个原因,每次需要访问该列时,都必须使用双引号 –