How to truncate time in date field?

In Oracle:

SQL> ALTER SESSION SET nls_date_format = ‘YYYY-MON-DD HH24:MI:SS’;

Session altered.

SQL> SELECT TRUNC(sysdate) FROM DUAL;

TRUNC(SYSDATE)
——————–
2009-MAY-10 00:00:00

In SQL Server:

SELECT CAST(CONVERT(varchar, GetDate(), 101) AS DateTime)
2009-05-10 00:00:00.000

Advertisements

How to calculate end of day?

There are few ways to calculate end of day i.e when the time is 23:59:59. In the example below it will return a value a value of 01-APR-2009 23:59:59.

to_date(’01-APR-2009′) + 1 – 1/86400
to_date(’01-APR-2009′) + 0.99999
to_date(’01-APR-2009 23:59:59′, ‘DD-MON-YYYY HH24:MI:SS’)
trunc(sysdate) + 0.99999 – end of today