Comment obtenir la date et l'heure uniquement en minutes, pas en secondes, à partir de l'horodatage dans PostgreSQL. J'ai besoin de date et d'heure.
Par exemple:
2000-12-16 12:21:13-05
De cela j'ai besoin
2000-12-16 12:21 (no seconds and milliseconds only date and time in hours and minutes)
À partir d'un horodatage avec un champ de fuseau horaire, dites update_time
, comment obtenir la date et l'heure comme ci-dessus en utilisant la requête de sélection PostgreSQL.
Aidez-moi, s'il vous plaît.
De nombreuses fonctions date-heure sont disponibles avec postgresql:
Voir la liste ici
http://www.postgresql.org/docs/9.1/static/functions-datetime.html
par exemple.
SELECT EXTRACT(DAY FROM TIMESTAMP '2001-02-16 20:38:40');
Result: 16
Pour le formatage, vous pouvez les utiliser:
http://www.postgresql.org/docs/9.1/static/functions-formatting.html
par exemple.
select to_char(current_timestamp, 'YYYY-MM-DD HH24:MI') ...
Pour obtenir le date
à partir d'un timestamp
(ou timestamptz
) un simple cast est le plus rapide:
SELECT now()::date
Vous obtenez le date
selon votre fuseau horaire local de toute façon.
Si vous voulez text
dans un certain format, choisissez to_char()
comme @ davek fourni .
Si vous souhaitez tronquer (arrondir vers le bas) la valeur d'un timestamp
à une unité de temps, utilisez date_trunc()
:
SELECT date_trunc('minute', now());
Cela devrait suffire:
select now()::date, now()::time
, pg_typeof(now()), pg_typeof(now()::date), pg_typeof(now()::time)