Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Jak używać QUERY w expdp, aby wyodrębnić tylko dane z ostatnich 3 miesięcy

Usuń średnik w QUERY parametr.:

QUERY=TABLE1,TABLE2:"where TABLE1_STARTTIME >= TO_DATE('01-AUG-2015','dd-mon-yyyy') 
                     and TABLE2_STARTIME >= TO_DATE('01-AUG-2015','dd-mon-yyyy')" 

Na marginesie:

Nie jest bezpośrednio związany z Twoim problemem. Pamiętaj jednak TO_DATE jest zależny od NLS . Powinieneś określić NLS_DATE_LANGUAGE , w przeciwnym razie zapytanie może się nie powieść dla innego nls_date_language.

Na przykład

SQL> alter session set nls_date_language='FRENCH';

Session altered.

SQL> SELECT TO_DATE('01-AUG-2015','dd-mon-yyyy') FROM DUAL;
SELECT TO_DATE('01-AUG-2015','dd-mon-yyyy') FROM DUAL
               *
ERROR at line 1:
ORA-01843: not a valid month


SQL> SELECT TO_DATE('01-AUG-2015','dd-mon-yyyy', 'nls_date_language=ENGLISH') FROM DUAL;

TO_DATE('01
-----------
01-AO█T -15

Wolałbym używać dosłowu daty ANSI , gdy nie masz żadnej czasu . Jest niezależny od NLS . Używa stałego formatu RRRR-MM-DD .

Na przykład

SQL> alter session set nls_date_language='FRENCH';

Session altered.

SQL> SELECT DATE '2015-08-01' FROM DUAL;

DATE'2015-0
-----------
01-AO█T -15

SQL> alter session set nls_date_language='AMERICAN';

Session altered.

SQL> SELECT DATE '2015-08-01' FROM DUAL;

DATE'2015
---------
01-AUG-15



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak pogrupować według specjalnego warunku

  2. Kluczowe zmiany technologiczne w E-Business Suite 12.2

  3. Zmień wstawioną wartość za pomocą wyzwalacza

  4. Automatyczny przyrost dla Oracle

  5. Wywołaj procedurę składowaną zawierającą zbiór rekordów za pomocą callproc w pythonie