How to get the date and time from timestamp in PostgreSQL select query?

前端 未结 3 1463
北海茫月
北海茫月 2020-12-17 18:08

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:2         


        
相关标签:
3条回答
  • 2020-12-17 18:56

    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.

    SELECT EXTRACT(DAY FROM TIMESTAMP '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') ...
    
    0 讨论(0)
  • 2020-12-17 19:05

    This should be enough:

    select now()::date, now()::time
        , pg_typeof(now()), pg_typeof(now()::date), pg_typeof(now()::time)
    
    0 讨论(0)
  • 2020-12-17 19:06

    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());
    
    0 讨论(0)
提交回复
热议问题