12-02-2016 05:10 AM
I'm extracting data from an Oracle table and using SAS Data Integration Studio (DI).
The Oracle expression in the where condition is:
DATA_CARICAMENTO >= TRUNC(SYSDATE - 1, 'MI') AND DATA_CARICAMENTO <= SYSDATE
I would use an equivalent expression in the Extract transformation of DI.
DATA_CARICAMENTO's Format is Datetime20.
Do you know what's a correct expression I can use?
12-02-2016 05:27 AM
A little googling for "Oracle trunc function" revealed that this truncates the value to the minute.
So I guess that the low end for the comparison is the minute of 1 second past.
In SAS, that would be
today() * 86400 + intnx('minute',time()-1,0,'begin')
if I guess right.
12-02-2016 07:55 AM
IMO an easier way to do it (and probably more effective) is to use tha autoamtic date/time variables.
&SYSTIME is in minutes, no need for trucation logic...
12-02-2016 08:02 AM - edited 12-02-2016 08:03 AM
Caution: &sysdate and &systime contain the date and time when the SAS session was started, not the current date and time!
12-02-2016 10:11 AM
Agree, but usually the Extract step is in the beginning of the session.
But in DI Studio, there's also automatic datetime macro variables created for you, so my final (?) suggestion would be to use ETLS_STARTTIME (or similar name, don't have DI Studio at my fingertips).