Oracle
 sql >> Database >  >> RDS >> Oracle

Quando si esegue una query su una vista, una clausola di filtro nella definizione della vista viene ignorata

Puoi fare in modo che la tua vista gestisca entrambi i casi (anche se WHERE la clausola sta limitando i dati a SCHTYPEID = 1 ), in questo modo:

CREATE VIEW FOO(THE_DATE) AS
  SELECT CASE WHEN SCHTYPEID = 1 THEN TO_DATE(LDATE, 'YYYYMMDD') ELSE NULL END
    FROM SCHEDULES
   WHERE SCHTYPEID = 1;