IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

Query to fetch previous day 24 hrs data


IBM Mainframe Forums -> DB2
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
senthamizh

New User


Joined: 27 Apr 2009
Posts: 23
Location: mumbai

PostPosted: Sun May 24, 2015 3:00 pm
Reply with quote

Hi All,

My requirement is to fetch records from table x whose last update time stamp is between yesterday 00.00.00.000000 and yesterday 23.59.59.999999.

for example if suppose i am running the query in batch spufi today say current date is 2015-05-24. then i have to get records from the table which are got updated between '2015-05-24.00.00.00.000000' and '2015-05-24.23.59.59.999999'.

is the above query is possible. I am planing to execute the query in batch and schedule it thru a job which will run daily and generate report.

I have the last update column in the table.
Back to top
View user's profile Send private message
mjadwani2785

New User


Joined: 28 Apr 2009
Posts: 89
Location: Noida , Dublin

PostPosted: Mon May 25, 2015 4:50 am
Reply with quote

Hi ,

Try this in where clause of your SQL

where DATE( timestamp_col - 1 DAY) = CURRENT DATE - 1 DAY

Hope this helps !!

Regards,
MJ
Back to top
View user's profile Send private message
Rohit Umarjikar

Global Moderator


Joined: 21 Sep 2010
Posts: 2591
Location: NYC,USA

PostPosted: Thu May 28, 2015 8:00 pm
Reply with quote

Quote:
My requirement is to fetch records from table x whose last update time stamp is between yesterday 00.00.00.000000 and yesterday 23.59.59.999999.


Quote:
for example if suppose i am running the query in batch spufi today say current date is 2015-05-24. then i have to get records from the table which are got updated between '2015-05-24.00.00.00.000000' and '2015-05-24.23.59.59.999999'.


they are contradictory.

Declare something like this and use it in where condition.

Code:
01 date-range
   05 date-to
        10 current-date PIC X(10).
        10 high-timestmp PIC X(16) VALUE '.23.59.59.999999'.
   05 date-from
        10 current-date PIC X(10).
        10 low-timestmp PIC X(16) VALUE '.00.00.00.000000'.
Back to top
View user's profile Send private message
enrico-sorichetti

Senior Moderator


Joined: 14 Mar 2007
Posts: 10730
Location: italy

PostPosted: Thu May 28, 2015 9:42 pm
Reply with quote

Quote:
My requirement is to fetch records from table x whose last update time stamp is between yesterday 00.00.00.000000 and yesterday 23.59.59.999999.


it looks like you are overshooting ...
wouldn' t it be simpler just to ask for the rows with a last update date of yesterday ???
Back to top
View user's profile Send private message
Marso

REXX Moderator


Joined: 13 Mar 2006
Posts: 1348
Location: Israel

PostPosted: Sun May 31, 2015 7:53 pm
Reply with quote

mjadwani2785 wrote:
Hi ,

Try this in where clause of your SQL

where DATE( timestamp_col - 1 DAY) = CURRENT DATE - 1 DAY

Hope this helps !!

Regards,
MJ
"- 1 DAY" is a nice option, but once is enough:
Code:
WHERE DATE(timestamp_update) = CURRENT DATE - 1 DAY
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> DB2

 


Similar Topics
Topic Forum Replies
No new posts compare two file to find position/dat... SYNCSORT 2
No new posts Secondary index error while loading d... IMS DB/DC 2
No new posts Execute step regardless of previous s... JCL & VSAM 2
No new posts SKIP LOCKED DATA in UPDATE statement DB2 9
No new posts Need Help with on of the coalesce query DB2 4
Search our Forums:

Back to Top