Oracle
 sql >> база данни >  >> RDS >> Oracle

Как да използвате QUERY в expdp за извличане само на данни от последните 3 месеца

Премахване точката и запетая в QUERY параметър.:

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')" 

Допълнителна бележка:

Не е пряко свързано с вашия проблем. Но помнете TO_DATE е зависим от NLS . Трябва да посочите NLS_DATE_LANGUAGE , в противен случай вашата заявка може да е неуспешна за различен nls_date_language.

Например,

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

Бих предпочел да използвам ANSI Date literal , когато нямате некаква част от времето . Той е независим от NLS . Използва фиксиран формат ГГГГ-ММ-ДД .

Например,

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. Как да промените структурата на таблицата в Oracle?

  2. Сървърната сесия на ORACLE е прекъсната поради фатална грешка

  3. Oracle:Връща множество стойности във функция

  4. Грешка при отпечатване на променлива REFCURSOR като OUT параметър в процедурата в Oracle 11g

  5. Oracle SQL - Заявка за изчисляване на стойности от множество таблици