Sql Oracle:创建带有check约束的表时,关系运算符无效

Sql Oracle:创建带有check约束的表时,关系运算符无效,sql,oracle,Sql,Oracle,我正在尝试使用oracle创建一个表,我一次又一次地收到相同的错误 第4行错误: ORA-00920:无效的关系运算符 以下是我的代码: CREATE TABLE Joueur( pseudo VARCHAR(50) PRIMARY KEY, nome VARCHAR(255) REFERENCES Equipe(nome), nomj VARCHAR(50) CHECK (UPPER(SUBSTR(nomj, 1, 1))), dateNaissance

我正在尝试使用oracle创建一个表,我一次又一次地收到相同的错误

第4行错误: ORA-00920:无效的关系运算符

以下是我的代码:

    CREATE TABLE Joueur(
    pseudo VARCHAR(50) PRIMARY KEY,
    nome VARCHAR(255) REFERENCES Equipe(nome),
    nomj VARCHAR(50) CHECK (UPPER(SUBSTR(nomj, 1, 1))),
    dateNaissance DATE CHECK (to_char(dateNaissance,"YYYY/MM/DD") > '1984/01/08'), 
);

感谢您的时间

第四行没有可比性:

nomj VARCHAR(50) CHECK (UPPER(SUBSTR(nomj, 1, 1))),
-------------------------------------------------^
nomj VARCHAR(50) CHECK (SUBSTR(nomj, 1, 1) BETWEEN 'A' AND 'Z'),
你想查什么

另外,我会把最后一个写为

dateNaissance DATE CHECK (dateNaissance > date '1984-01-08')
转换为字符串不会导致错误,但完全没有必要

最后一个逗号也是一个错误

编辑:

第一个比较:

nomj VARCHAR(50) CHECK (UPPER(SUBSTR(nomj, 1, 1))),
-------------------------------------------------^
nomj VARCHAR(50) CHECK (SUBSTR(nomj, 1, 1) BETWEEN 'A' AND 'Z'),

Oracle比较通常区分大小写。

Equipe表在哪里?你也可以发布吗?谢谢,它现在可以很好地处理日期字段的中间和更改