【问题标题】:Syntax Oracle error语法 Oracle 错误
【发布时间】:2015-12-08 16:21:47
【问题描述】:
SELECT LINE_NUMBER, time
FROM LINE
JOIN LINE_STOP  ON LINE.ID=LINE_STOP.LINE_ID
JOIN PASSAGE    ON LINE.STOP_ID = PASSAGE.LINE_STOP_ID
WHERE "time" =    (select count (*) as "time"
                        from passage 
                        where hours * 60 + minutes between 300 and 380);  

我有一个无效的标识符错误 ora-00904。很确定是因为它不认识时间,但我不明白为什么。

【问题讨论】:

  • 请编辑您的问题并包括您的表格布局和您看到的确切错误消息。谢谢。
  • WHERE "time" = (...

标签: oracle syntax ora-00904


【解决方案1】:

官方文档here中将时间描述为一个词 ...“对 Oracle 有特殊含义,但不是保留字,因此可以重新定义”。

如果您必须使用列表中的任何单词,您必须将它们双引号并保持大小写与创建时使用的大小写一致。

SELECT LINE_NUMBER, "TIME"
FROM LINE
JOIN LINE_STOP  ON LINE.ID=LINE_STOP.LINE_ID
JOIN PASSAGE    ON LINE.STOP_ID = PASSAGE.LINE_STOP_ID
WHERE "TIME" =    (select count (*) as "TIME"
                        from passage 
                        where hours * 60 + minutes between 300 and 380);

【讨论】:

    猜你喜欢
    • 2018-08-21
    • 2011-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-09
    • 2020-02-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多