我在Oracle SQL中發現缺少關鍵字錯誤,我不知道爲什麼。這是我的代碼。我想要根據變量P1_DATE_CHOOSER將列拆分不同的時間。 (如果有幫助,我正在使用Apex App Developer)。在CASE WHEN語句中獲取缺少的關鍵字錯誤
Select START_DATE,
Round(Avg(Run_TIME), 3) as "Average_RunTime",
Round(Max(Run_TIME), 3) as "Max_RunTime", Round(Median(Run_time), 3) as "Median_RunTime"
from
(Select job_id,
Case P1_DATE_CHOOSER
WHEN 'Daily' THEN TRUNC(start_time) as 'START_DATE'
WHEN 'Weekly' THEN to_char(start_time, 'WW') as 'START_DATE'
WHEN 'Monthly' THEN to_char(start_time, 'MONTH') as 'START_DATE'
END,
1440*(END_TIME - START_TIME)) as "RUN_TIME"
from NI_INFA_ACTIVITY_LOG_V
order by job_id asc, start_time asc)
group by START_DATE order by START_DATE
任何幫助,將不勝感激。
第一次看...在'CASE ... END'語句的'END'字之後移動'AS START_DATE'。 –
首先,如果'P1_DATE_CHOOSER'是一個APEX頁面變量,它應該以冒號爲前綴。其次,別名'start_date'應該出現在'case'語句之後,而不是每個'then'子句的一部分。如果你想要的話,你可以用雙引號標識符(儘管我不會除非你想創建一個區分大小寫的標識符)。正如您在這裏所做的那樣,單引號標識符會將其轉換爲字符串文字,這也會創建語法錯誤。 –