FirebirdSQL logo

Exemple DATEDIFF

Example 1. Utilisation de la fonction DATEDIFF
DATEDIFF (HOUR FROM CURRENT_TIMESTAMP TO TIMESTAMP '12-JUN-2059 06:00')
DATEDIFF (MINUTE FROM TIME '0:00' TO CURRENT_TIME)
DATEDIFF (MONTH, CURRENT_DATE, DATE '1-1-1900')
DATEDIFF (DAY FROM CURRENT_DATE TO CAST (? AS DATE))

EXTRACT()

Disponible en

DSQL, PSQL

Syntaxe
EXTRACT (<part> FROM <datetime>)

<part> ::=
    YEAR | MONTH | WEEK | DAY | WEEKDAY | YEARDAY
  | HOUR | MINUTE | SECOND | MILLISECOND
  | TIMEZONE_HOUR | TIMEZONE_MINUTE
Table 1. paramètres de fonction EXTRACT
Paramètre Description

part

Composante date/heure.

datetime

Une expression de type DATE, TIME ou TIMESTAMP.

Le type de résultat renvoyé :

SMALLINT ou NUNERIC.

La fonction EXTRACT extrait les composants de date et d’heure des types de données DATE, TIME et TIMESTAMP.

Table 2. Types et plages de résultats de fonctions EXTRACT
Composant date/heure Type Plage Commentaire

YEAR

SMALLINT

1–9999

L’année

QUARTER

SMALLINT

1-4

Trimestre

MONTH

SMALLINT

1–12

Mois

WEEK

SMALLINT

1–53

Numéro de la semaine de l’année

DAY

SMALLINT

1–31

Jour

WEEKDAY

SMALLINT

0–6

Jour de la semaine. 0 — Dimanche

YEARDAY

SMALLINT

0–365

Le numéro du jour de l’année. 0 = 1 janvier

HOUR

SMALLINT

0–23

Heure

MINUTE

SMALLINT

0–59

Minute

SECOND

NUMERIC(9,4)

0.0000–59.9999

Secondes. Inclut les millisecondes

MILLISECOND

NUMERIC(9,1)

0.0–999.9

Millisecondes

TIMEZONE_HOUR

SMALLINT

de -14 à +14

Décalage des heures du fuseau horaire

TIMEZONE_MINUTE

SMALLINT

de -59 à +59

Décalage des minutes du fuseau horaire

Note

Si le composant date/heure n’est pas présent dans l’argument date/heure, par exemple SECOND dans un argument de type DATE ou YEAR dans TIME, la fonction provoquera une erreur.

À partir d’un argument de type DATE ou TIMESTAMP, vous pouvez extraire le numéro de la semaine. Selon la norme ISO-8601, la semaine commence le lundi et comprend toujours 7 jours. La première semaine de l’année est celle qui compte le plus de jours dans la nouvelle année (au moins 4) : les jours 1-3 peuvent appartenir à la semaine précédente (52 ou 53) de l’année précédente. Par analogie, les jours 1-3 de l’année en cours peuvent appartenir à la semaine 1 de l’année suivante.

Example 1. Utilisation de la fonction EXTRACT
/* récupérer le numéro du trimestre par la date */
SELECT (EXTRACT(MONTH FROM CURRENT_TIMESTAMP)-1)/3+1
FROM RDB$DATABASE