How does one add a day/hour/minute/second to a date value?
Submitted by admin on Wed, 2004-08-04 15:16
Body:
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-2005 16:47:23 03-JUL-2005 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 the month at 12 midnight | TRUNC(LAST_DAY(SYSDATE ) + 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) |
»
- Log in to post comments
Comments
It was very helpful to solve
It was very helpful to solve my date/time problem
Extra date functions
Don't forget there is:
add_month(sysdate, 1) -- adds a month to the current date
addmonth(sysdate, 12) -- adds a year taking into account leap years
Thanks a lot
These are very good queries.
though I do not have anything to add to these queries now, I could not restrain myself from appreciating those who have contributed to these queries.
these are very useful queries, used often in the program, yet we used to struggle for these queries.
Thanks a lot once again all those who have contributed to these questions.
keep up the good work.
ORA-20011: Approximate NDV failed: ORA-29913: error in executing
I've looked this up and can't figure out why this error keeps coming up. Can somebody give me an idea why this keeps coming up?