affiliate marketing Interview Qns: How does one add a day/hour/minute/second to a date value?

Monday, October 25, 2010

How does one add a day/hour/minute/second to a date value?

The SYSDATE pseudo-column shows the current system date and time. Adding 1 to SYSDATE will advance the date by 1 day. Use fractions to add hours, minutes or seconds to the date. Look at these examples:

SQL> select sysdate, sysdate+1/24, sysdate +1/1440, sysdate + 1/86400 from dual;

SYSDATE SYSDATE+1/24 SYSDATE+1/1440 SYSDATE+1/86400

-------------------- -------------------- -------------------- --------------------

03-Jul-2002 08:32:12 03-Jul-2002 09:32:12 03-Jul-2002 08:33:12 03-Jul-2002 08:32:13

The following format is frequently used with Oracle Replication:

select sysdate NOW, sysdate+30/(24*60*60) NOW_PLUS_30_SECS from dual;

NOW NOW_PLUS_30_SECS

-------------------- --------------------

03-JUL-2002 16:47:23 03-JUL-2002 16:47:53

Here are a couple of examples:

Description

Date Expression

Now

SYSDATE

Tomorow/ next day

SYSDATE + 1

Seven days from now

SYSDATE + 7

One hour from now

SYSDATE + 1/24

Three hours from now

SYSDATE + 3/24

An half hour from now

SYSDATE + 1/48

10 minutes from now

SYSDATE + 10/1440

30 seconds from now

SYSDATE + 30/86400

Tomorrow at 12 midnight

TRUNC(SYSDATE + 1)

Tomorrow at 8 AM

TRUNC(SYSDATE + 1) + 8/24

Next Monday at 12:00 noon

NEXT_DAY(TRUNC(SYSDATE), 'MONDAY') + 12/24

First day of next month at 12 midnight

TRUNC(LAST_DAY(SYSDATE ) + 1)

First day of the current month

TRUNC(LAST_DAY(ADD_MONTHS(SYSDATE,-1))) + 1

The next Monday, Wednesday or Friday at 9 a.m

TRUNC(LEAST(NEXT_DAY(sysdate,''MONDAY'' ),NEXT_DAY(sysdate,''WEDNESDAY''), NEXT_DAY(sysdate,''FRIDAY'' ))) + (9/24)

No comments:

Post a Comment