PDA

Visualizza la versione completa : SQL : Estrazione record con data scaduta da 15 gg a partire da oggi.


Carletto90
02-12-2003, 11:08
In un record ho un campo valorizzato con una data.

Eseguo un istruzione che mi estrae tutti quei record che contengono una data pari a 15 gg indietro rispetto alla data odierna.

Attualmente lo script è erroneamente riportato in questo modo:

select * from PIPPO where
(TO_CHAR(SYSDATE, 'YYYYMMDD'))-(substr(rtrim(libero8),-4,4) || substr(rtrim(libero8),-7,2) || substr(rtrim(libero8),1,2))>15

così facendo si converte la data in formato testo e si sottrae dalla data numerica odierna la data contenuta nel campo.

Ma questa logica non funziona correttamente al cambio mese, perchè si può trovare una situazione di questo tipo:

20031202 -
20031128
----------
74

Il valore torna 74 ma non è corretto. dal 28/11 al 02/12 sono passati solo 5 gg

Il risultato che vorrei ottenere è estrarre tutti quei record che hanno un campo data superiore a 15 passati dalla data odierna.

Come posso fare??

Grazie

claudiosala80
02-12-2003, 12:45
Non puoi semplicemente fare una query con
WHERE data>data_maggiorata e dargli direttamente la data che ti interessa?
per curiosità che DBMS hai?
ciao

Carletto90
02-12-2003, 13:04
Problema risolto....
Gazie lo stesso! :ciauz:

Elena78
02-12-2003, 19:21
Originariamente inviato da claudiosala80
Non puoi semplicemente fare una query con
WHERE data>data_maggiorata e dargli direttamente la data che ti interessa?
per curiosità che DBMS hai?
ciao

Era per me, ma non ricordavo la password della mia utenza :dhò:

Dunque, è uno script che viene eseguito da un batch notturno..
mi estrae tutti quei record che hanno la data passata di 15 gg rispetto a quella odierna.

DB Oracle.

In ogni caso ho trovato una funzion che fa al caso mio, grassie lo stesso :)

Loading