Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de changer d’annuaire.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer d’annuaire.
Fonction
S’applique à :
Databricks SQL
Databricks Runtime
Retourne field de source.
Note
Lors de l’extraction de champs d’un TIMESTAMP (TIMESTAMP_LTZ), le résultat est basé sur le fuseau horaire de session.
Syntaxe
extract(field FROM source)
Arguments
-
field: mot clé qui sélectionne la partie desourceà extraire. -
source: ADATE,TIMESTAMP, ouTIMESTAMP_NTZINTERVALexpression.
Retours
Si field est SECOND, DECIMAL(8, 6).
Dans tous les autres cas, un INTEGER.
Les valeurs de field prises en charge quand source est DATE ou TIMESTAMP sont :
-
YEAR,Y,YEARS,YR,YRS: champ de l’année -
YEAROFWEEK: année selon la numérotation de semaine ISO 8601 dans laquelle s’inscrit la valeur DateHeure. Par exemple, 2005-01-02 faisant partie de la 53e semaine de l’année 2004, le résultat est 2004 -
QUARTER,QTR: trimestre (de 1 à 4) de l’année dans laquelle s’inscrit la valeur DateHeure -
MONTH,MON,MONS,MONTHS: champ du mois (de 1 à 12) -
WEEK,W,WEEKS: numéro de l’année ISO 8601 basé sur la semaine. Une semaine est considérée comme débutant le lundi et la semaine 1 est la première semaine de >3 jours. Dans le système de numérotation des semaines ISO, il est possible que des dates du tout début du mois de janvier fassent partie de la 52e ou 53e semaine de l’année précédente, et que des dates de la toute fin du mois de décembre fassent partie de la première semaine de l’année suivante. Par exemple, 2005-01-02 fait partie de la 53e semaine de l’année 2004, tandis que 2012-12-31 fait partie de la première semaine de 2013 -
DAY,D,DAYS: champ du jour du mois (de 1 à 31) -
DAYOFWEEK,DOW: jour de la semaine correspondant à DateHeure, du dimanche (1) au samedi (7) -
DAYOFWEEK_ISO,DOW_ISO: jour de la semaine ISO 8601 pour la DateHeure, du lundi (1) au dimanche (7) -
DOY: jour de l’année - (de 1 à 365/366) -
HOUR,H,HOURS,HR,HRS: champ des heures (de 0 à 23) -
MINUTE,M,MIN,MINS,MINUTES: champ des minutes (de 0 à 59) -
SECOND,S,SEC,SECONDS,SECS: champ des secondes, incluant des parties fractionnaires
Les valeurs de field prises en charge quand source est INTERVAL sont les suivantes, sans sensibilité à la casse :
-
YEAR,Y,YEARS,YR,YRS: nombre total de mois / 12 -
MONTH,MON,MONS,MONTHS: nombre total de mois % 12 -
DAY,D,DAYS: partie jours de l’intervalle -
HOUR,H,HOURS,HR,HRS: nombre d’heures que les microsecondes contiennent -
MINUTE,M,MIN,MINS,MINUTES: nombre de minutes restantes après retrait des heures des microsecondes -
SECOND,S,SEC,SECONDS,SECS: nombre de secondes avec fractions restantes après retrait des heures et minutes des microsecondes
Pour retourner l’acronyme de trois lettres pour le jour de la semaine, utilisez la fonction dayname .
Exemples
> SELECT extract(YEAR FROM TIMESTAMP '2019-08-12 01:00:00.123456');
2019
> SELECT extract(week FROM TIMESTAMP'2019-08-12 01:00:00.123456');
33
> SELECT extract(DAY FROM DATE'2019-08-12');
12
> SELECT extract(SECONDS FROM TIMESTAMP'2019-10-01 00:00:01.000001');
1.000001
> SELECT extract(MONTHS FROM INTERVAL '2-11' YEAR TO MONTH);
11
> SELECT extract(SECONDS FROM INTERVAL '5:00:30.001' HOUR TO SECOND);
30.001000