- Catégories :
EXTRACT¶
Extrait la date ou la partie de date ou d’heure spécifiée d’une date, d’une heure ou d’un horodatage.
- Alternatives :
DATE_PART , HOUR / MINUTE / SECOND , YEAR* / DAY* / WEEK* / MONTH / QUARTER
Syntaxe¶
EXTRACT( <date_or_time_part> FROM <date_or_time_expr> )
EXTRACT( <date_or_time_part> , <date_or_timestamp_expr> )
Arguments¶
date_or_time_part
L’unité de temps. Doit être l’une des valeurs répertoriées dans Parties de date et d’heure prises en charge (par exemple
month
). La valeur peut être un littéral de chaîne ou peut être sans guillemets (par exemple'month'
oumonth
).Lorsque
date_or_time_part
correspond àweek
(ou à l’une de ses variantes), la sortie est contrôlée par le paramètre de session WEEK_START.Lorsque
date_or_time_part
estdayofweek
ouyearofweek
(ou l’une de ses variations), la sortie est contrôlée par les paramètres de session WEEK_OF_YEAR_POLICY et WEEK_START.
Pour plus de détails, y compris des exemples, voir Semaines civiles et jours de semaine.
date_or_timestamp_expr
Date, heure, horodatage ou expression pouvant être évalué sur une date, une heure ou un horodatage.
Renvoie¶
Renvoie une valeur de type de données NUMBER.
Notes sur l’utilisation¶
Actuellement, quand date_or_timestamp_expr
est une valeur DATE, les valeurs date_or_time_part
suivantes ne sont pas prises en charge :
epoch_millisecond
epoch_microsecond
epoch_nanosecond
Les autres parties de date et d’heure (y compris epoch_second
) sont pris en charge.
Exemples¶
Spécifiez la partie year
pour extraire l’année d’un horodatage :
SELECT EXTRACT(year FROM TO_TIMESTAMP('2024-04-10T23:39:20.123-07:00')) AS YEAR;
+------+
| YEAR |
|------|
| 2024 |
+------+
Utilisez EXTRACT avec la fonction DECODE et la partie dayofweek
pour renvoyer le nom complet du jour de la semaine en cours :
SELECT DECODE(EXTRACT(dayofweek FROM SYSTIMESTAMP()),
1, 'Monday',
2, 'Tuesday',
3, 'Wednesday',
4, 'Thursday',
5, 'Friday',
6, 'Saturday',
7, 'Sunday') AS DAYOFWEEK;
+-----------+
| DAYOFWEEK |
|-----------|
| Thursday |
+-----------+
Note
La sortie dépend de la valeur renvoyée par la fonction SYSTIMESTAMP lorsque vous exécutez la requête. Vous pouvez également utiliser la fonction DAYNAME pour extraire le nom à trois lettres du jour de la semaine de la date ou de l’horodatage spécifié.