sql指令有什么错误?

时间:2014-02-21 18:14:32

标签: sql oracle

CREATE VIEW DADOSTORNEIO AS
SELECT TORNEIO.NroTorneio , TORNEIO.NomeTorneio , TORNEIO.DescTorneio , 
    TORNEIO.DataFim , TORNEIO.DataInicio , EQUIPES.CodEquipe , EQUIPES.NomeEquipe , 
    EQUIPES.DescEquipe , ATLETAS.NroAtleta , ATLETAS.NomeAtleta , ATLETAS.TelAtleta , 
    ATLETAS.SexoAtleta , ATLETAS.Modalidade 
FROM TORNEIO , EQUIPES , ATLETAS
WHERE EQUIPES.NroTorneio == TORNEIO.NroTorneio 
  AND ATLETAS.CodEquipe == EQUIPES.CodEquipe 
  AND TO_DATE(SYSDATE()) > TORNEIO.DataFim;

上面的代码在Oracle Express 11g中提交了以下错误:

ORA-00936: missing expression

代码中哪个错误?

2 个答案:

答案 0 :(得分:3)

在where子句中使用=代替==,而SYSDATE代替SYSDATE()

答案 1 :(得分:1)

除了@RidaBENHAMMANE指出的错误之外,SYSDATE已经是一个日期 - 用to_date转换它是没有意义的,所以代替

AND TO_DATE(SYSDATE()) > TORNEIO.DataFim;

只需使用

AND SYSDATE > TORNEIO.DataFim;