Skip to content Skip to sidebar Skip to footer

How To Get The Date And Time From Timestamp In Postgresql Select Query?

How to get the date and time only up to minutes, not seconds, from timestamp in PostgreSQL. I need date as well as time. For example: 2000-12-16 12:21:13-05 From this I need 2000

Solution 1:

To get the date from a timestamp (or timestamptz) a simple cast is fastest:

SELECT now()::date

You get the date according to your local time zone either way.

If you want text in a certain format, go with to_char() like @davek provided.

If you want to truncate (round down) the value of a timestamp to a unit of time, use date_trunc():

SELECT date_trunc('minute', now());

Solution 2:

There are plenty of date-time functions available with postgresql:

See the list here

http://www.postgresql.org/docs/9.1/static/functions-datetime.html

e.g.

SELECTEXTRACT(DAYFROMTIMESTAMP'2001-02-16 20:38:40');
Result: 16

For formatting you can use these:

http://www.postgresql.org/docs/9.1/static/functions-formatting.html

e.g.

select to_char(current_timestamp, 'YYYY-MM-DD HH24:MI') ...

Solution 3:

This should be enough:

select now()::date, now()::time
    , pg_typeof(now()), pg_typeof(now()::date), pg_typeof(now()::time)

Post a Comment for "How To Get The Date And Time From Timestamp In Postgresql Select Query?"