42

How to write a postgresql query for getting only the date part of timestamp field, from a table

4 Answers 4

73
select DATE(my_field) from my_table;
0
28

You have two basic options, each with a number of equivalent expressions. Assuming a TIMESTAMP field named "ts", you can extract the date part:

  • By type cast
    • CAST(ts AS DATE) SQL-compliant syntax
    • ts::DATE Historical pg syntax
    • DATE(ts) Actually a function. Note that this syntax is deprecated, per the link above.
  • By date/time function
    • EXTRACT(YEAR FROM ts)
    • DATE_PART('YEAR', ts)
1
  • Thanks for robust answer and deprecation warning! Casting it is.
    – dooleyo
    Commented Jun 25, 2013 at 18:14
3

Another option would be to cast your timestamp to a date:

SELECT

CAST('2010-01-01 12:12:12' AS date)

0
0

Following way work for me

CAST(to_timestamp(timestamp_value/1000) AS date) as created_date

Not the answer you're looking for? Browse other questions tagged or ask your own question.