EXTRACT (datetime) (Français)

Syntaxe

extract_datetime :: =

Description de l’illustration extract_datetime.gif

Objectif

EXTRACT extrait et renvoie la valeur de un champ datetime spécifié à partir d’une expression de valeur datetime ou d’intervalle. Lorsque vous extrayez un TIMEZONE_REGION ou TIMEZONE_ABBR (abréviation), la valeur renvoyée est une chaîne contenant le nom ou l’abréviation du fuseau horaire approprié. Lorsque vous extrayez l’une des autres valeurs, la valeur renvoyée se trouve dans le calendrier grégorien. Lors de l’extraction d’une date / heure avec une valeur de fuseau horaire, la valeur renvoyée est en UTC. Pour obtenir la liste des noms de fuseaux horaires et leurs abréviations correspondantes, interrogez la vue des performances dynamiques V$TIMEZONE_NAMES.

Cette fonction peut être très utile pour manipuler les valeurs de champ datetime en très de grands tableaux, comme indiqué dans le premier exemple ci-dessous.

Remarque:

Les noms de région de fuseau horaire sont nécessaires à la fonction d’heure d’été. Les noms de région sont stockés dans deux fichiers de fuseau horaire. Le fichier de fuseau horaire par défaut est un petit fichier contenant uniquement les fuseaux horaires les plus courants pour optimiser les performances. Si votre fuseau horaire n’est pas dans le fichier par défaut, vous ne bénéficierez pas de la prise en charge de l’heure d’été tant que vous n’aurez pas fourni un chemin d’accès au fichier complet (plus volumineux) au moyen de la variable d’environnement ORA_TZFILE.

Certaines combinaisons de champ de date / heure et d’expression de valeur de date / heure ou d’intervalle entraînent une ambiguïté. Dans ces cas, Oracle Database renvoie UNKNOWN (voir les exemples qui suivent pour plus d’informations).

Le champ que vous extrayez doit être un champ de datetime_value_expr ou interval_value_expr. Par exemple, vous ne pouvez extraire que YEAR, MONTH et DAY d’un DATE valeur. De même, vous pouvez extraire TIMEZONE_HOUR et TIMEZONE_MINUTE uniquement à partir de TIMESTAMP WITH TIME ZONE type de données.

Voir aussi:

  • Guide de l’administrateur de base de données Oracle pour plus d’informations sur la définition de la variable d’environnement ORA_TZFILE

  • Oracle Guide de prise en charge de la globalisation de la base de données. Pour une liste complète des noms de région de fuseau horaire dans les deux fichiers.

  • « Datetime / Interval Arithmetic » pour une description de datetime_value_expr et interval_value_expr

  • Oracle Database Reference pour plus d’informations sur les vues dynamiques des performances

Exemples

L’exemple suivant renvoie à partir du tableau oe.orders le nombre de commandes passées chaque mois:

L’exemple suivant renvoie l’année 1998.

SELECT EXTRACT(YEAR FROM DATE "1998-03-07") FROM DUAL;EXTRACT(YEARFROMDATE"1998-03-07")--------------------------------- 1998

Les exemples suivants élit dans le tableau exemple hr.employees tous les employés qui ont été embauchés après 1998:

L’exemple suivant entraîne une ambiguïté, donc Oracle renvoie UNKNOWN:

L’ambiguïté provient du fait que le décalage numérique du fuseau horaire est fourni dans l’expression, et que ce décalage numérique peut correspondre à plusieurs régions de fuseau horaire.

Leave a Reply

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *