Dans PostgreSQL, le date_part() récupère des sous-champs tels que l'année, le mois, l'heure ou la minute, à partir d'une valeur de date/heure.
C'est l'équivalent de extract() fonction, bien qu'avec une syntaxe légèrement différente.
Syntaxe
La fonction a la syntaxe suivante :
date_part('field', source) Où :
'field'correspond à la partie date que vous souhaitez récupérer. Ce paramètre doit être une valeur de chaîne, pas un nom. Voir ci-dessous pour une liste des noms de champs valides.sourceest un horodatage ou un intervalle dont vous voulez récupérer la partie date.
Exemple – Horodatage
Voici un exemple de base pour montrer comment récupérer un champ à partir d'un horodatage .
SELECT date_part('hour', timestamp '2020-09-16 22:33:15'); Résultat :
22
Cet exemple récupère le champ heure d'un horodatage valeur.
Le revoilà, mais cette fois je récupère le champ année.
SELECT date_part('year', timestamp '2020-09-16 22:33:15'); Résultat :
2020
Exemple – Intervalle
Dans cet exemple, je récupère une partie date d'un intervalle valeur.
SELECT date_part('hour', interval '5 hours 30 minutes'); Résultat :
5
Dans l'exemple suivant, la fonction renvoie correctement le nombre d'heures, même si je ne fournis que le nombre de minutes.
SELECT date_part('hour', interval '120 minutes'); Résultat :
2
Cependant, ne comptez pas sur cette technique. Vous constaterez peut-être que vous n'obtenez pas toujours le résultat que vous attendez.
Par exemple :
SELECT date_part('hour', interval '100 minutes'); Résultat :
1
Et un autre :
SELECT date_part('minute', interval '2 hours'); Résultat :
0
Noms de champ
Le premier argument peut être l'un des suivants :
centurydaydecadedowdoyepochhourisodowisoyearmicrosecondsmillenniummillisecondsminutemonthquartersecondtimezonetimezone_hourtimezone_minuteweekyear