我已经查看了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
答案 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