Fonction EXTRACT - AWS Clean Rooms

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.

Fonction EXTRACT

La fonction EXTRACT renvoie une partie de date ou d’heure à partir d’une valeur TIMESTAMP, TIMESTAMPTZ, TIME ou TIMETZ. Les exemples incluent le jour, le mois, l’année, l’heure, la minute, la seconde, la milliseconde ou la microseconde d’un horodatage.

Syntaxe

EXTRACT(datepart FROM source)

Arguments

datepart

Sous-champ d’une date ou d’une heure à extraire, tel que le jour, le mois, l’année, l’heure, la minute, la seconde, la milliseconde ou la microseconde. Pour les valeurs possibles, consultez Parties de date pour les fonctions de date ou d'horodatage.

source

Une colonne ou une expression qui évalue un type de données TIMESTAMP, TIMESTAMPTZ, TIME ou TIMETZ.

Type de retour

INTEGER si la valeur source est de type TIMESTAMP, TIME ou TIMETZ.

DOUBLE PRECISION si la valeur source est de type TIMESTAMPTZ.

Exemples avec TIMESTAMP

L’exemple suivant renvoie le nombre de semaines pour les ventes au cours desquelles le prix payé était de 10 000 $ ou plus.

select salesid, extract(week from saletime) as weeknum from sales where pricepaid > 9999 order by 2; salesid | weeknum --------+--------- 159073 | 6 160318 | 8 161723 | 26

L’exemple suivant renvoie la valeur de minute à partir d’une valeur d’horodatage littérale.

select extract(minute from timestamp '2009-09-09 12:08:43'); date_part --

L’exemple suivant renvoie la valeur de la milliseconde à partir d’une valeur littérale d’horodatage.

select extract(ms from timestamp '2009-09-09 12:08:43.101'); date_part ----------- 101

Exemples avec TIMESTAMPTZ

L’exemple suivant renvoie la valeur de l’année à partir d’une valeur littérale de timestamptz.

select extract(year from timestamptz '1.12.1997 07:37:16.00 PST'); date_part ----------- 1997

Exemples avec TIME

L'exemple de table TIME_TEST suivant comporte une colonne TIME_VAL (type TIME) avec trois valeurs insérées.

select time_val from time_test; time_val --------------------- 20:00:00 00:00:00.5550 00:58:00

L’exemple suivant extrait les minutes de chaque time_val.

select extract(minute from time_val) as minutes from time_test; minutes ----------- 0 0 58

L’exemple suivant extrait les heures de chaque time_val.

select extract(hour from time_val) as hours from time_test; hours ----------- 20 0 0

L’exemple suivant extrait des millisecondes d’une valeur littérale.

select extract(ms from time '18:25:33.123456'); date_part ----------- 123

Exemples avec TIMETZ

L'exemple de table TIMETZ_TEST suivant comporte une colonne TIMETZ_VAL (type TIMETZ) avec trois valeurs insérées.

select timetz_val from timetz_test; timetz_val ------------------ 04:00:00+00 00:00:00.5550+00 05:58:00+00

L'exemple suivant extrait les heures de chaque timez_val.

select extract(hour from timetz_val) as hours from time_test; hours ----------- 4 0 5

L’exemple suivant extrait des millisecondes d’une valeur littérale. Les valeurs littérales ne sont pas converties en UTC avant le traitement de l’extraction.

select extract(ms from timetz '18:25:33.123456 EST'); date_part ----------- 123

L’exemple suivant renvoie l’heure de décalage du fuseau horaire par rapport à UTC à partir d’une valeur littérale de timetz.

select extract(timezone_hour from timetz '1.12.1997 07:37:16.00 PDT'); date_part ----------- -7