【发布时间】:2020-10-06 18:03:06
【问题描述】:
日历
CREATE TABLE CALENDAR
(
CalendarKey int NOT NULL PRIMARY KEY,
Date DATE DEFAULT (SYSDATE),
DayofWeek VARCHAR2(50) NOT NULL,
DayofMonth VARCHAR2(50) NOT NULL,
DayofYear VARCHAR2(50) NOT NULL,
WeekofMonth VARCHAR2(50) NOT NULL,
WeekofYear VARCHAR2(50) NOT NULL,
Month MONTH DEFAULT (SYSMONTH),
Year YEAR DEFAULT (SYSYEAR)
);
此代码导致错误:
错误报告 -
ORA-00904: : 标识符无效
00904. 00000 - “%s:无效标识符”
*原因:
*行动:
没有发现任何错误,请帮忙。
【问题讨论】:
-
Oracle 中没有
sysmonth或sysyear。 in the manual 你在哪里找到的? -
除了其他 cmets,为什么要为“月”和“年”分开列?这肯定会导致问题。只需使用 DATE 类型的单个列。如果您只关心月份和年份,则可以在查询列时只使用 TRUNC 来忽略 DATE 的日期和时间部分。