ORA-00923:找不到FROM关键字 - SQLDeveloper

时间:2017-03-21 22:45:03

标签: oracle

我已经查看了StackOverflow上00923错误的所有相关问题,但找不到有效的答案,所以我发布了自己的问题。

我正在使用SQL Developer并尝试在下面运行此命令:

SELECT *,(
CASE dayOfWeek
    WHEN 1 THEN "Monday"
    WHEN 2 THEN "Tuesday"
    WHEN 3 THEN "Wednesday"
    WHEN 4 THEN "Thursday"
    WHEN 5 THEN "Friday"
    WHEN 6 THEN "Saturday"
    WHEN 7 THEN "Sunday"
END) AS "dayOfWeek"
FROM Schedules WHERE routeID = 1;

我在数据库中分别以1到7的整数表示星期几。我正在尝试使用此CASE将1到7显示为文本,如上所示,并且我收到此错误。

完整错误:

ORA-00923: FROM keyword not found where expected
00923. 00000 -  "FROM keyword not found where expected"
*Cause:    
*Action:
Error at Line: 1 Column: 9

3 个答案:

答案 0 :(得分:1)

在SELECT子句中使用*而不仅仅是*时,您需要使用您希望记录的表名来限定*

SELECT Schedules.*,
CASE dayOfWeek
    WHEN 1 THEN 'Monday'
    WHEN 2 THEN 'Tuesday'
    WHEN 3 THEN 'Wednesday'
    WHEN 4 THEN 'Thursday'
    WHEN 5 THEN 'Friday'
    WHEN 6 THEN 'Saturday'
    WHEN 7 THEN 'Sunday'
END AS "dayOfWeek"

FROM Schedules WHERE routeID = 1;

答案 1 :(得分:0)

SELECT Schedules.ScheduleID, Schedules.RouteID,
CASE dayOfWeek
    WHEN 1 THEN 'Monday'
    WHEN 2 THEN 'Tuesday'
    WHEN 3 THEN 'Wednesday'
    WHEN 4 THEN 'Thursday'
    WHEN 5 THEN 'Friday'
    WHEN 6 THEN 'Saturday'
    WHEN 7 THEN 'Sunday'
END AS "dayOfWeek", Schedules.depTime, Schedules.arrTime, Schedules.Status
FROM Schedules WHERE routeID = 1;

答案 2 :(得分:0)

当我执行该SQL语句时,在Visual Studio内部,我收到与本文标题中提到的相同的错误。代码片段来自以下方法。

body