La fonction EXTRACT de PostgreSQL est utilisée pour récupérer des sous-champs spécifiques tels que l'année, le mois, le jour, l'heure, etc. à partir des valeurs de date/heure. Elle est essentielle pour la manipulation et l'analyse de la date dans les requêtes SQL.
Utilisation
La fonction EXTRAIRE est particulièrement utile lorsque vous devez isoler une partie spécifique d'une valeur de date ou d'heure à des fins de filtrage, de regroupement ou d'affichage. Sa syntaxe est simple :
Dans cette syntaxe, field représente la partie de la date et de l'heure que vous souhaitez extraire (par exemple, YEAR, MONTH, DOW, DOY, EPOCH), et source est toute expression renvoyant une valeur timestamp, date, interval, ou time, et pas seulement des littéraux.
Exemples
1. Année d'extraction
SELECTEXTRACT(YEARFROM'2023-10-14'::date)AS year;Propulsé par
Cet exemple extrait l'année 2023 de la date spécifiée.
2. Extraction du mois à partir de la date courante
SELECTEXTRACT(MONTHFROMCURRENT_DATE)AS month;Propulsé par
Ici, la fonction EXTRACT récupère le mois en cours à partir de la date système.
3. Extraction de l'heure à partir de l'horodatage
SELECTEXTRACT(HOURFROMTIMESTAMP'2023-10-14 15:23:45')AS hour;Propulsé par
Cet exemple extrait l'heure 15 de l'horodatage donné.
4. Extraction du jour de la semaine
SELECTEXTRACT(DOWFROMCURRENT_DATE)AS day_of_week;Propulsé par
Cet exemple permet d'obtenir le jour de la semaine, le dimanche étant 0 et le samedi 6.
5. Utiliser EXTRACT avec GROUP BY
SELECTEXTRACT(YEARFROM order_date)AS order_year,COUNT(*)FROM orders
GROUPBY order_year;Propulsé par
Cet exemple regroupe les commandes par année, démontrant l'utilisation d'EXTRACT avec GROUP BY.
Conseils et bonnes pratiques
La précision est importante. Assurez-vous que le site source est au bon format de date et d'heure afin d'éviter les erreurs ou les résultats inattendus.
Combinez avec d'autres fonctions. Utilisez EXTRACT avec GROUP BY ou ORDER BY pour organiser les résultats par intervalles de temps.
Tenez compte des fuseaux horaires. Tenez compte du fuseau horaire de vos données pour garantir une extraction précise.
Vérifier la présence de valeurs nulles. Traitez les nullités potentielles dans les champs date/heure à l'aide de COALESCE ou de fonctions similaires afin d'éviter les échecs des requêtes. Par exemple :
SELECTEXTRACT(YEARFROMCOALESCE(order_date,CURRENT_DATE))AS year;Propulsé par
Types de retour. EXTRACT renvoie une valeur en double précision pour tous les champs, sauf lorsque la source est un intervalle, où il renvoie un nombre entier pour les champs tels que YEAR, MONTH, etc.
EXTRACT vs DATE_PART. Les deux fonctions ont des objectifs similaires, mais DATE_PART est une syntaxe de fonction plus traditionnelle dans PostgreSQL. Choisissez en fonction de votre convention personnelle ou de votre projet.
La fonction EXTRACT de PostgreSQL est utilisée pour récupérer des sous-champs spécifiques tels que l'année, le mois, le jour, l'heure, etc. à partir des valeurs de date/heure. Elle est essentielle pour la manipulation et l'analyse de la date dans les requêtes SQL.
Utilisation
La fonction EXTRAIRE est particulièrement utile lorsque vous devez isoler une partie spécifique d'une valeur de date ou d'heure à des fins de filtrage, de regroupement ou d'affichage. Sa syntaxe est simple :
Dans cette syntaxe,
fieldreprésente la partie de la date et de l'heure que vous souhaitez extraire (par exemple,YEAR,MONTH,DOW,DOY,EPOCH), etsourceest toute expression renvoyant une valeurtimestamp,date,interval, outime, et pas seulement des littéraux.Exemples
1. Année d'extraction
Cet exemple extrait l'année
2023de la date spécifiée.2. Extraction du mois à partir de la date courante
Ici, la fonction EXTRACT récupère le mois en cours à partir de la date système.
3. Extraction de l'heure à partir de l'horodatage
Cet exemple extrait l'heure
15de l'horodatage donné.4. Extraction du jour de la semaine
Cet exemple permet d'obtenir le jour de la semaine, le dimanche étant
0et le samedi6.5. Utiliser EXTRACT avec GROUP BY
Cet exemple regroupe les commandes par année, démontrant l'utilisation d'EXTRACT avec
GROUP BY.Conseils et bonnes pratiques
sourceest au bon format de date et d'heure afin d'éviter les erreurs ou les résultats inattendus.GROUP BYouORDER BYpour organiser les résultats par intervalles de temps.COALESCEou de fonctions similaires afin d'éviter les échecs des requêtes. Par exemple :YEAR,MONTH, etc.DATE_PARTest une syntaxe de fonction plus traditionnelle dans PostgreSQL. Choisissez en fonction de votre convention personnelle ou de votre projet.