创建表时,Literal与格式字符串不匹配

use*_*359 3 sql oracle

我一直在尝试创建一个基本表.每次我尝试创建表时都会出错

literal与格式字符串不匹配

我试图在2005年到2100年之间限制锦标赛的年份.错误发生在DATE'2005'之间.

这是我的代码:

Create table Tournament_T
(Tournament_name VARCHAR (50) PRIMARY KEY NOT NULL,
Tournament_year INTEGER NOT NULL,
CONSTRAINT RANGE CHECK (Tournament_year BETWEEN DATE '2005' AND '2100'),
Tournament_rules CLOB NOT NULL,
Tournament_fee VARCHAR(1000) NOT NULL,
Tournment_eligibility VARCHAR (1000) NOT NULL );
COMMIT;
Run Code Online (Sandbox Code Playgroud)

Gor*_*off 8

您的约束是使用date关键字,但您不需要它.做就是了:

CONSTRAINT RANGE CHECK (Tournament_year BETWEEN 2005 AND 2100),
Run Code Online (Sandbox Code Playgroud)

您的列是整数,而不是日期.