2014-03-25 61 views
0

我正在Toad,Oracle中測試此代碼。它給我一個錯誤「結束:一個無效的標識符」。有人能幫我弄清楚我哪裏出錯了嗎?無效的標識符錯誤:Oracle中的SQL代碼

SELECT 
     NVL(PACE_HR.F_GET_INSTR_CRHRS(18, 
     case 
      when to_char(to_date(&&payroll_date),'MM') >= 09 
      then to_char(to_date(&&payroll_date),'YYYY')||'70' 
       else to_char(to_number(to_char(to_date(&&payroll_date),'YYYY')) - 1) || '70' 
       end),0) 
     as fall_instr_crhrs, 
     nvl(pace_hr.f_get_non_instr_crhrs(18, 
     case 
      when to_char(to_date(&&payroll_date),'MM') >= 09 
      then to_char(to_date(&&payroll_date),'YYYY')||'70' 
       else to_char(to_number(to_char(to_date(&&payroll_date),'YYYY')) - 1) || '70' 
       end),0), 
     end as fall_non_instr_crhrs 

FROM DUAL 

回答

2

這條線是幹什麼的?

end as fall_non_instr_crhrs 

嘗試:

SELECT 
    NVL(PACE_HR.F_GET_INSTR_CRHRS(18, 
    case 
     when to_char(to_date(&&payroll_date),'MM') >= 09 
     then to_char(to_date(&&payroll_date),'YYYY')||'70' 
      else to_char(to_number(to_char(to_date(&&payroll_date),'YYYY')) - 1) || '70' 
      end),0) 
    as fall_instr_crhrs, 
    nvl(pace_hr.f_get_non_instr_crhrs(18, 
    case 
     when to_char(to_date(&&payroll_date),'MM') >= 09 
     then to_char(to_date(&&payroll_date),'YYYY')||'70' 
      else to_char(to_number(to_char(to_date(&&payroll_date),'YYYY')) - 1) || '70' 
      end),0) as fall_non_instr_crhrs 
FROM DUAL 
+0

沒錯,只是刪除結束後,他能保持別名 – CodeBird

+0

@CodeBird和逗號'end'之前。 –

+0

好眼!錯過了 – CodeBird