sql >> Database >  >> RDS >> Oracle

Hoe QUERY in expdp te gebruiken om alleen de gegevens van de laatste 3 maanden te extraheren

Verwijderen de puntkomma in de QUERY parameter.:

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

Even terzijde:

Niet direct gerelateerd aan uw probleem. Maar onthoud TO_DATE is NLS-afhankelijk . U moet de NLS_DATE_LANGUAGE . opgeven , anders kan uw zoekopdracht mislukken voor een andere nls_date_language.

Bijvoorbeeld,

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

Ik gebruik liever ANSI-datum letterlijk , als je geen tijdsdeel hebt . Het is NLS-onafhankelijk . Het gebruikt een vast formaat JJJJ-MM-DD .

Bijvoorbeeld,

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. hoe de positie van gesorteerde rijen te krijgen met mysql en php

  2. SMO ConnectionContext.StatementTimeout-instelling wordt genegeerd

  3. Oracle (ORA-02270):geen overeenkomende unieke of primaire sleutel voor deze kolomlijstfout

  4. Hoe te controleren of de tekenreekswaarde in de ene kolom gedeeltelijk is opgenomen in de tekenreekswaarde van een andere kolom met behulp van SQL?