- Catégories :
DATE_PART¶
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 :
EXTRACT, HOUR / MINUTE / SECOND, YEAR* / DAY* / WEEK* / MONTH / QUARTER
Syntaxe¶
DATE_PART( <date_or_time_part> , <date_or_time_expr> )
Renvoie¶
Le type de données de la valeur renvoyée est NUMBER.
Notes sur l’utilisation¶
date_or_time_part
doit être l’une des valeurs répertoriées dans Parties de date et d’heure prises en charge.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 leurs 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_time_expr
peut être une date, une heure ou un horodatage.
Exemples¶
Ceci montre un exemple simple d’extraction d’une partie de DATE
:
SELECT DATE_PART(QUARTER, '2013-05-08'::DATE); +----------------------------------------+ | DATE_PART(QUARTER, '2013-05-08'::DATE) | |----------------------------------------| | 2 | +----------------------------------------+
Ceci montre un exemple d’extraction d’une partie de TIMESTAMP
:
SELECT TO_TIMESTAMP('2013-05-08T23:39:20.123-07:00') AS "TIME_STAMP1", DATE_PART(YEAR, "TIME_STAMP1") AS "EXTRACTED YEAR"; +-------------------------+----------------+ | TIME_STAMP1 | EXTRACTED YEAR | |-------------------------+----------------| | 2013-05-08 23:39:20.123 | 2013 | +-------------------------+----------------+
Ceci montre un exemple de conversion de TIMESTAMP en nombre de secondes depuis le début de l’epoch Unix (minuit le 1er janvier 1970) :
SELECT TO_TIMESTAMP('2013-05-08T23:39:20.123-07:00') AS "TIME_STAMP1", DATE_PART(EPOCH_SECOND, "TIME_STAMP1") AS "EXTRACTED EPOCH SECOND"; +-------------------------+------------------------+ | TIME_STAMP1 | EXTRACTED EPOCH SECOND | |-------------------------+------------------------| | 2013-05-08 23:39:20.123 | 1368056360 | +-------------------------+------------------------+
Ceci montre un exemple de conversion de TIMESTAMP en nombre de millisecondes depuis le début de l’epoch Unix (minuit le 1er janvier 1970) :
SELECT TO_TIMESTAMP('2013-05-08T23:39:20.123-07:00') AS "TIME_STAMP1", DATE_PART(EPOCH_MILLISECOND, "TIME_STAMP1") AS "EXTRACTED EPOCH MILLISECOND"; +-------------------------+-----------------------------+ | TIME_STAMP1 | EXTRACTED EPOCH MILLISECOND | |-------------------------+-----------------------------| | 2013-05-08 23:39:20.123 | 1368056360123 | +-------------------------+-----------------------------+