Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.server -> Re: Rounding Time
I think you would have better luck using the ROUND function as follows:
SQL> alter session set nls_date_format = 'dd-Mon-yyyy hh:mi:ss';
Session altered.
SQL> select round(sysdate,'hh') from dual;
ROUND(SYSDATE,'HH')
ROUND(somedate,'HH') rounds a date to the nearest hour. If the minutes are > 30, it will round up. You can use TRUNC(somedate,'HH') if you always want to round down.
Jonathan
On Tue, 11 Jul 2000 14:26:14 GMT, louster_at_my-deja.com wrote:
>I'm trying to round a time to the nearest hour on a 24 hr clock. I'm
>currently trying something like:
>
> TO_CHAR(L.LOGIN_DATE,'fmHH24')+(TRUNC(TO_CHAR
>(L.LOGIN_DATE,'fmMI')/30)) || ':00' as "Rounded"
>
>But the problem with this is 11:31pm rounds up to 24:00 but 1:29am
>rounds to 0:00. I can't have both 24:00 and 0:00. I'd like 11:31pm to
>round to 0:00. Any ideas?
>
>
>Sent via Deja.com http://www.deja.com/
>Before you buy.
Received on Wed Jul 12 2000 - 00:00:00 CDT
![]() |
![]() |