web-dev-qa-db-fra.com

Comment écrire une requête postgresql pour extraire uniquement la partie date du champ timestamp, à partir d'une table

Comment écrire une requête postgresql pour extraire uniquement la partie date du champ timestamp, à partir d'une table

25
Linto davis
select DATE(my_field) from my_table;
42
Konrad Garus

Vous avez deux options de base, chacune avec un nombre d'expressions équivalentes. En supposant un champ TIMESTAMP nommé "ts", vous pouvez extraire la partie de date:

  • Par type cast
    • CAST(ts AS DATE) Syntaxe conforme à SQL
    • ts::DATE Syntaxe pg historique
    • DATE(ts) En fait, une fonction. Notez que cette syntaxe est obsolète , selon le lien ci-dessus.
  • Par fonction date/heure
    • EXTRACT(YEAR FROM ts)
    • DATE_PART('YEAR', ts)
22
pilcrow

Une autre option serait de lancer votre horodatage sur une date:

SÉLECTIONNER 

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

2
Frank Heikens

Suivre le travail pour moi

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

0
Kamini