Fonctions de date - Amazon Simple Storage Service

Fonctions de date

Important

Amazon S3 Select n’est plus disponible pour les nouveaux clients. Les clients existants d’Amazon S3 Select peuvent continuer à utiliser cette fonctionnalité comme d’habitude. En savoir plus

Amazon S3 Select prend en charge les fonctions de date suivantes.

DATE_ADD

À partir d’une partie de date, d’une quantité et d’un horodatage donnés, DATE_ADD renvoie un horodatage mis à jour en remplaçant la partie de date par la quantité.

Syntaxe

DATE_ADD( date_part, quantity, timestamp )

Paramètres

date_part

Spécifie quelle partie de la date modifier. Il peut s’agir de l’une des parties suivantes :

  • year

  • month

  • day

  • hour

  • minute

  • second

quantity

Valeur à appliquer à l’horodatage mis à jour. Les valeurs positives de quantity s’ajoutent à l’élément date_part de l’horodatage et les valeurs négatives se soustraient.

timestamp

Horodatage cible sur lequel la fonction opère.

Exemples

DATE_ADD(year, 5, `2010-01-01T`) -- 2015-01-01 (equivalent to 2015-01-01T) DATE_ADD(month, 1, `2010T`) -- 2010-02T (result will add precision as necessary) DATE_ADD(month, 13, `2010T`) -- 2011-02T DATE_ADD(day, -1, `2017-01-10T`) -- 2017-01-09 (equivalent to 2017-01-09T) DATE_ADD(hour, 1, `2017T`) -- 2017-01-01T01:00-00:00 DATE_ADD(hour, 1, `2017-01-02T03:04Z`) -- 2017-01-02T04:04Z DATE_ADD(minute, 1, `2017-01-02T03:04:05.006Z`) -- 2017-01-02T03:05:05.006Z DATE_ADD(second, 1, `2017-01-02T03:04:05.006Z`) -- 2017-01-02T03:04:06.006Z

DATE_DIFF

À partir d’une partie de date et de deux horodatages valides donnés, DATE_DIFF renvoie la différence entre les parties de date. La valeur renvoyée est un entier négatif lorsque la valeur date_part de timestamp1 est supérieure à la valeur date_part de timestamp2. La valeur renvoyée est un entier positif lorsque la valeur date_part de timestamp1 est inférieure à la valeur date_part de timestamp2.

Syntaxe

DATE_DIFF( date_part, timestamp1, timestamp2 )

Paramètres

date_part

Spécifie la partie des horodatages à comparer. Pour obtenir la définition de date_part, consultez DATE_ADD.

timestamp1

Premier horodatage à comparer.

timestamp2

Deuxième horodatage à comparer.

Exemples

DATE_DIFF(year, `2010-01-01T`, `2011-01-01T`) -- 1 DATE_DIFF(year, `2010T`, `2010-05T`) -- 4 (2010T is equivalent to 2010-01-01T00:00:00.000Z) DATE_DIFF(month, `2010T`, `2011T`) -- 12 DATE_DIFF(month, `2011T`, `2010T`) -- -12 DATE_DIFF(day, `2010-01-01T23:00`, `2010-01-02T01:00`) -- 0 (need to be at least 24h apart to be 1 day apart)

EXTRACT

À partir d’une partie de date et d’un horodatage donnés, EXTRACT renvoie la valeur de la partie de date de l’horodatage.

Syntaxe

EXTRACT( date_part FROM timestamp )

Paramètres

date_part

Spécifie la partie des horodatages à extraire. Il peut s’agir de l’une des parties suivantes :

  • YEAR

  • MONTH

  • DAY

  • HOUR

  • MINUTE

  • SECOND

  • TIMEZONE_HOUR

  • TIMEZONE_MINUTE

timestamp

Horodatage cible sur lequel la fonction opère.

Exemples

EXTRACT(YEAR FROM `2010-01-01T`) -- 2010 EXTRACT(MONTH FROM `2010T`) -- 1 (equivalent to 2010-01-01T00:00:00.000Z) EXTRACT(MONTH FROM `2010-10T`) -- 10 EXTRACT(HOUR FROM `2017-01-02T03:04:05+07:08`) -- 3 EXTRACT(MINUTE FROM `2017-01-02T03:04:05+07:08`) -- 4 EXTRACT(TIMEZONE_HOUR FROM `2017-01-02T03:04:05+07:08`) -- 7 EXTRACT(TIMEZONE_MINUTE FROM `2017-01-02T03:04:05+07:08`) -- 8

TO_STRING

À partir d’un horodatage et d’un modèle de format donnés, TO_STRING renvoie une représentation sous forme de chaîne de l’horodatage au format donné.

Syntaxe

TO_STRING ( timestamp time_format_pattern )

Paramètres

timestamp

Horodatage cible sur lequel la fonction opère.

time_format_pattern

Chaîne qui possède les interprétations de caractères spéciaux suivantes :

Format

Exemple

Description

yy

69

Année sur deux chiffres

y

1969

Année sur quatre chiffres

yyyy

1969

Année sur 4 chiffres avec ajout de zéro

M

1

Mois de l’année

MM

01

Mois de l’année avec ajout de zéro

MMM

Jan

Nom du mois sous forme abrégée

MMMM

January

Nom du mois en entier

MMMMM

J

Première lettre du mois (REMARQUE : ce format n’est pas valide avec la fonction TO_TIMESTAMP.)

d

2

Jour du mois (1-31)

dd

02

Jour du mois avec ajout de zéro (01-31)

a

AM

AM ou PM

h

3

Heure (1-12)

hh

03

Heure avec ajout de zéro (01-12)

H

3

Heure (0-23)

HH

03

Heure avec ajout de zéro (00-23)

m

4

Minutes (0-59)

mm

04

Minute avec ajout de zéro (00-59)

s

5

Secondes (0-59)

ss

05

Seconde avec ajout de zéro (00-59)

S

0

Fraction de seconde (précision : 0,1, plage : 0,0-0,9)

SS

6

Fraction de seconde (précision : 0,01, plage : 0,0-0,99)

SSS

60

Fraction de seconde (précision : 0,001, plage : 0,0-0,999)

SSSSSSSSS

60000000

Fraction de seconde (précision maximale : 1 nanoseconde, plage : 0,0-0,999999999)

n

60000000

Nanoseconde

X

+07 or Z

Décalage en heures ou Z si le décalage est de 0

XX or XXXX

+0700 or Z

Décalage en heures et minutes ou Z si le décalage est de 0

XXX or XXXXX

+07:00 or Z

Décalage en heures et minutes ou Z si le décalage est de 0

x

7

Décalage en heures

xx or xxxx

700

Décalage en heures et minutes

xxx or xxxxx

+07:00

Décalage en heures et minutes

Exemples

TO_STRING(`1969-07-20T20:18Z`, 'MMMM d, y') -- "July 20, 1969" TO_STRING(`1969-07-20T20:18Z`, 'MMM d, yyyy') -- "Jul 20, 1969" TO_STRING(`1969-07-20T20:18Z`, 'M-d-yy') -- "7-20-69" TO_STRING(`1969-07-20T20:18Z`, 'MM-d-y') -- "07-20-1969" TO_STRING(`1969-07-20T20:18Z`, 'MMMM d, y h:m a') -- "July 20, 1969 8:18 PM" TO_STRING(`1969-07-20T20:18Z`, 'y-MM-dd''T''H:m:ssX') -- "1969-07-20T20:18:00Z" TO_STRING(`1969-07-20T20:18+08:00Z`, 'y-MM-dd''T''H:m:ssX') -- "1969-07-20T20:18:00Z" TO_STRING(`1969-07-20T20:18+08:00`, 'y-MM-dd''T''H:m:ssXXXX') -- "1969-07-20T20:18:00+0800" TO_STRING(`1969-07-20T20:18+08:00`, 'y-MM-dd''T''H:m:ssXXXXX') -- "1969-07-20T20:18:00+08:00"

TO_TIMESTAMP

À partir d’une chaîne donnée, TO_TIMESTAMP le convertit en un horodatage. TO_TIMESTAMP est l’opération inverse de TO_STRING.

Syntaxe

TO_TIMESTAMP ( string )

Paramètres

string

Chaîne cible sur laquelle la fonction opère.

Exemples

TO_TIMESTAMP('2007T') -- `2007T` TO_TIMESTAMP('2007-02-23T12:14:33.079-08:00') -- `2007-02-23T12:14:33.079-08:00`

UTCNOW

UTCNOW renvoie l’heure actuelle au format UTC sous forme d’horodatage.

Syntaxe

UTCNOW()

Paramètres

UTCNOW n’accepte aucun paramètre.

Exemples

UTCNOW() -- 2017-10-13T16:02:11.123Z