

 Amazon Redshift ne prendra plus en charge l'utilisation des UDF Python après le 30 juin 2026. Nous allons commencer à l'appliquer par étapes. Pour plus d'informations sur les détails de la fin de vie de Python et des options de migration, consultez [ le billet de ](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/) blog publié le 30 juin 2025. 

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Parties de date pour les fonctions de date ou d’horodatage
<a name="r_Dateparts_for_datetime_functions"></a>

Le tableau suivant identifie les noms de partie de date et d’horodatage et les abréviations qui sont acceptées comme arguments pour les fonctions suivantes : 
+ DATEADD 
+ DATEDIFF 
+ DATE\_PART 
+ EXTRACT 


| Partie de date ou de temps  | Abréviations  | 
| --- | --- | 
| millénaire, millénaires  | mil  | 
| siècle, siècles  | s, siècle, siècles  | 
| décennie, décennies  | déc  | 
| époque  | époque (prise en charge par la [EXTRACT](r_EXTRACT_function.md)) | 
| année, années  | an, ans  | 
| trimestre, trimestres  | trim  | 
| mois  | mois  | 
| semaine, semaines  | s, sem  | 
| jour de la semaine  | jdls (pris en charge par les fonctions [DATE\_PART](r_DATE_PART_function.md) et [Fonction EXTRACT](r_EXTRACT_function.md))<br />Renvoie un nombre entier compris entre 0 et 6, en commençant par le dimanche.  La partie de date DOW se comporte différemment de la partie de date jour de la semaine (D) utilisée pour les chaînes au format datetime. D s’appuie sur des nombres entiers compris entre 1 et 7, où le dimanche est 1. Pour plus d'informations, consultez [Chaînes de format datetime](r_FORMAT_strings.md).   | 
| jour de l’année  | dayofyear, doy, dy, yearday (prise en charge par la [EXTRACT](r_EXTRACT_function.md)) | 
| jour, jours  | d  | 
| heure, heures  | h  | 
| minute, minutes  | m, min  | 
| seconde, secondes  | s  | 
| milliseconde, millisecondes  | ms  | 
| microseconde, microsecondes  | µs  | 
| timezone, timezone\_hour, timezone\_minute  | Pris en charge par la [EXTRACT](r_EXTRACT_function.md) pour l’horodatage avec fuseau horaire (TIMESTAMPTZ) uniquement. | 

## Variations de résultats avec les secondes, les millisecondes et les microsecondes
<a name="r_Dateparts_for_datetime_functions-variations-in-results"></a>

Des différences mineures dans les résultats de la requête se produisent lorsque d’autres fonctions de date spécifient les secondes, les millisecondes ou les microsecondes comme des parties de date : 
+ La fonction EXTRACT renvoie des nombres entiers pour la partie de date spécifiée uniquement, sans tenir compte des parties de date de niveau supérieur et inférieur. Si la partie de date spécifiée est les secondes, les millisecondes et les microsecondes ne figurent pas dans le résultat. Si la partie de date spécifiée est les millisecondes, les secondes et les microsecondes ne sont pas incluses. Si la partie de date spécifiée est les microsecondes, les secondes et les millisecondes ne sont pas incluses. 
+ La fonction DATE\_PART renvoie la seconde partie complète de l’horodatage, quelle que soit la partie de date spécifiée, en renvoyant une valeur décimale ou un nombre entier comme requis. 

Par exemple, comparez les résultats des requêtes suivantes : 

```
create table seconds(micro timestamp);

insert into seconds values('2009-09-21 11:10:03.189717');

select extract(sec from micro) from seconds;
               
date_part
-----------
3
               
select date_part(sec, micro) from seconds;
   
pgdate_part
-------------
3.189717
```

## Remarques sur CENTURY, EPOCH, DECADE et MIL
<a name="r_Dateparts_for_datetime_functions-century"></a>

CENTURY ou CENTURIES   
Amazon Redshift interprète un CENTURY comme démarrant avec l’année *\#\#\#1* et se terminant par l’année `###0` :   

```
select extract (century from timestamp '2000-12-16 12:21:13');
date_part
-----------
20

select extract (century from timestamp '2001-12-16 12:21:13');
date_part
-----------
21
```

EPOCH   
L’implémentation d’Amazon Redshift d’EPOCH est associée à 1970-01-01 00:00:00.000000 quel que soit le fuseau horaire sur lequel réside le cluster. Vous devrez peut-être décaler les résultats de la différence en heures selon le fuseau horaire sur lequel se trouve le cluster.   
 L’exemple suivant illustre les éléments suivants :   

1.  Crée une table appelée EVENT\_EXAMPLE en fonction de la table EVENT. Cette commande CREATE AS utilise la fonction DATE\_PART pour créer une colonne de date (appelée PGDATE\_PART par défaut) pour stocker la valeur epoch de chaque événement. 

1.  Sélectionne le type de colonne et de données d’EVENT\_EXAMPLE de PG\_TABLE\_DEF. 

1.  Sélectionne EVENTNAME, STARTTIME et PGDATE\_PART de la table EVENT\_EXAMPLE pour afficher les différents formats de date et d’heure. 

1.  Sélectionne EVENTNAME et STARTTIME à partir de EVENT EXAMPLE tel quel. Convertit les valeurs d’époque dans PGDATE\_PART à l’aide d’un intervalle de 1 seconde dans un horodatage sans fuseau horaire et renvoie les résultats dans une colonne appelée CONVERTED\_TIMESTAMP. 

```
create table event_example
as select eventname, starttime, date_part(epoch, starttime) from event;

select "column", type from pg_table_def where tablename='event_example';

     column    |            type
---------------+-----------------------------
 eventname     | character varying(200)
 starttime     | timestamp without time zone
 pgdate_part   | double precision
(3 rows)
```

```
select eventname, starttime, pgdate_part from event_example;

   eventname          |      starttime      | pgdate_part
----------------------+---------------------+-------------
 Mamma Mia!           | 2008-01-01 20:00:00 |  1199217600
 Spring Awakening     | 2008-01-01 15:00:00 |  1199199600
 Nas                  | 2008-01-01 14:30:00 |  1199197800
 Hannah Montana       | 2008-01-01 19:30:00 |  1199215800
 K.D. Lang            | 2008-01-01 15:00:00 |  1199199600
 Spamalot             | 2008-01-02 20:00:00 |  1199304000
 Macbeth              | 2008-01-02 15:00:00 |  1199286000
 The Cherry Orchard   | 2008-01-02 14:30:00 |  1199284200
 Macbeth              | 2008-01-02 19:30:00 |  1199302200
 Demi Lovato          | 2008-01-02 19:30:00 |  1199302200

   
select eventname, 
starttime, 
timestamp with time zone 'epoch' + pgdate_part * interval '1 second' AS converted_timestamp 
from event_example;

       eventname      |      starttime      | converted_timestamp
----------------------+---------------------+---------------------
 Mamma Mia!           | 2008-01-01 20:00:00 | 2008-01-01 20:00:00
 Spring Awakening     | 2008-01-01 15:00:00 | 2008-01-01 15:00:00
 Nas                  | 2008-01-01 14:30:00 | 2008-01-01 14:30:00
 Hannah Montana       | 2008-01-01 19:30:00 | 2008-01-01 19:30:00
 K.D. Lang            | 2008-01-01 15:00:00 | 2008-01-01 15:00:00
 Spamalot             | 2008-01-02 20:00:00 | 2008-01-02 20:00:00
 Macbeth              | 2008-01-02 15:00:00 | 2008-01-02 15:00:00
 The Cherry Orchard   | 2008-01-02 14:30:00 | 2008-01-02 14:30:00
 Macbeth              | 2008-01-02 19:30:00 | 2008-01-02 19:30:00
 Demi Lovato          | 2008-01-02 19:30:00 | 2008-01-02 19:30:00
 ...
```

DECADE ou DECADES   
Amazon Redshift interprète DECADE ou DECADES DATEPART en fonction du calendrier courant. Par exemple, si le calendrier commun commence à partir de l’année 1, la première décennie (décennie 1) est 0001-01-01 jusqu’au 0009-12-31, et la deuxième décennie (décennie 2) du 0010-01-01 au 0019-12-31. Par exemple, la décennie 201 s’étend du 2000-01-01 au 2009-12-31 :   

```
select extract(decade from timestamp '1999-02-16 20:38:40');
date_part
-----------
200

select extract(decade from timestamp '2000-02-16 20:38:40');
date_part
-----------
201

select extract(decade from timestamp '2010-02-16 20:38:40');
date_part
-----------
202
```

MIL ou MILS   
Amazon Redshift interprète un MIL comme démarrant avec le premier jour de l’année *\#001* et se terminant par le dernier jour de l’année `#000` :   

```
select extract (mil from timestamp '2000-12-16 12:21:13');
date_part
-----------
2

select extract (mil from timestamp '2001-12-16 12:21:13');
date_part
-----------
3
```