我有一张叫做日历的表。
其中一列名为“日期”
当我想选择日期列时,它会给出错误 ORA-01747,即无效的 table.column。
select date from calendars
我猜这是因为“日期”是 pl/sql 的保留字。问题是甚至无法更改列名:
alter table calendars rename column date to date_d
结果是:ORA-00904 错误:标识符无效。
你有什么建议?
谢谢。
我有一张叫做日历的表。
其中一列名为“日期”
当我想选择日期列时,它会给出错误 ORA-01747,即无效的 table.column。
select date from calendars
我猜这是因为“日期”是 pl/sql 的保留字。问题是甚至无法更改列名:
alter table calendars rename column date to date_d
结果是:ORA-00904 错误:标识符无效。
你有什么建议?
谢谢。
你有没有尝试过
select calendars.date from calendars; /* or you could alias "calendars" if you don't want to type so much */
如果这不起作用或没有帮助,您是否尝试过删除该列(并可能尝试使用表名前缀引用它:)calendars.date
?
我还发现了这篇文章:如何在 Oracle 中转义保留字?
如果您使用双引号,Oracle 似乎会区分大小写
select "date" from calendars;
不一样
select "Date" from calendars;
尝试用双引号转义保留字。
select "date" from calendars
date 是保留关键字,因此不能像这样使用
从某个表中选择日期
问题可以有多种解决方案
从表名中选择 [日期]
从表名中选择“日期”
从表名中选择表名.日期