Fonctions de date/heure - Amazon Timestream

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Fonctions de date/heure

Note

Timestream for LiveAnalytics ne prend pas en charge les valeurs temporelles négatives. Toute opération entraînant une durée négative entraîne une erreur.

Timestream pour LiveAnalytics utilise le UTC fuseau horaire pour la date et l'heure. Timestream prend en charge les fonctions suivantes pour la date et l'heure.

Généralités et conversion

Timestream for LiveAnalytics prend en charge les fonctions générales et de conversion suivantes pour la date et l'heure.

Fonction Type de données de sortie Description

date_actuelle

date

Renvoie la date actuelle enUTC. Aucune parenthèse n'est utilisée.

SELECT current_date

Exemple de résultat : 2022-07-07

Note

Il s'agit également d'un mot clé réservé. Pour obtenir la liste des mots clés réservés, consultezMots-clés réservés.

heure_actuelle

time

Renvoie l'heure actuelleUTC. Aucune parenthèse n'est utilisée.

SELECT current_time

Exemple de résultat : 17:41:52.827000000

Note

Il s'agit également d'un mot clé réservé. Pour obtenir la liste des mots clés réservés, consultezMots-clés réservés.

current_timestamp ou now ()

timestamp

Renvoie l'horodatage actuel en. UTC

SELECT current_timestamp

Exemple de résultat : 2022-07-07 17:42:32.939000000

Note

Il s'agit également d'un mot clé réservé. Pour obtenir la liste des mots clés réservés, consultezMots-clés réservés.

fuseau horaire actuel ()

varchar

La valeur sera «UTC. »

Timestream utilise le UTC fuseau horaire pour la date et l'heure.

SELECT current_timezone()

Exemple de résultat : UTC

date (varchar (x)), date (horodatage)

date

SELECT date(TIMESTAMP '2022-07-07 17:44:43.771000000')

Exemple de résultat : 2022-07-07

dernier_jour_de_mois (horodatage), dernier_jour_de_mois (date)

date

SELECT last_day_of_month(TIMESTAMP '2022-07-07 17:44:43.771000000')

Exemple de résultat : 2022-07-31

from_iso8601_timestamp (chaîne de caractères)

timestamp

Analyse l'horodatage ISO 8601 au format d'horodatage interne.

SELECT from_iso8601_timestamp('2022-06-17T08:04:05.000000000+05:00')

Exemple de résultat : 2022-06-17 03:04:05.000000000

from_iso8601_date (chaîne de caractères)

date

Analyse la chaîne de date ISO 8601 au format d'horodatage interne pour UTC 00:00:00 de la date spécifiée.

SELECT from_iso8601_date('2022-07-17')

Exemple de résultat : 2022-07-17

to_iso8601 (horodatage), to_iso8601 (date)

varchar

Renvoie une chaîne au format ISO 8601 pour l'entrée.

SELECT to_iso8601(from_iso8601_date('2022-06-17'))

Exemple de résultat : 2022-06-17

from_milliseconds (bigint)

timestamp

SELECT from_milliseconds(1)

Exemple de résultat : 1970-01-01 00:00:00.001000000

from_nanoseconds (bigint)

timestamp

select from_nanoseconds(300000001)

Exemple de résultat : 1970-01-01 00:00:00.300000001

from_unixtime (double)

timestamp

Renvoie un horodatage qui correspond à l'unixtime fourni.

SELECT from_unixtime(1)

Exemple de résultat : 1970-01-01 00:00:01.000000000

heure locale

time

Renvoie l'heure actuelleUTC. Aucune parenthèse n'est utilisée.

SELECT localtime

Exemple de résultat : 17:58:22.654000000

Note

Il s'agit également d'un mot clé réservé. Pour obtenir la liste des mots clés réservés, consultezMots-clés réservés.

horodatage local

timestamp

Renvoie l'horodatage actuel en. UTC Aucune parenthèse n'est utilisée.

SELECT localtimestamp

Exemple de résultat : 2022-07-07 17:59:04.368000000

Note

Il s'agit également d'un mot clé réservé. Pour obtenir la liste des mots clés réservés, consultezMots-clés réservés.

to_milliseconds (intervalle jour par seconde), to_milliseconds (horodatage)

bigint

SELECT to_milliseconds(INTERVAL '2' DAY + INTERVAL '3' HOUR)

Exemple de résultat : 183600000

SELECT to_milliseconds(TIMESTAMP '2022-06-17 17:44:43.771000000')

Exemple de résultat : 1655487883771

to_nanoseconds (intervalle entre un jour et une seconde), to_nanoseconds (horodatage)

bigint

SELECT to_nanoseconds(INTERVAL '2' DAY + INTERVAL '3' HOUR)

Exemple de résultat : 183600000000000

SELECT to_nanoseconds(TIMESTAMP '2022-06-17 17:44:43.771000678')

Exemple de résultat : 1655487883771000678

to_unixtime (horodatage)

double

Renvoie unixtime pour l'horodatage fourni.

SELECT to_unixtime('2022-06-17 17:44:43.771000000')

Exemple de résultat : 1.6554878837710001E9

date_trunc (unité, horodatage)

timestamp

Renvoie l'horodatage tronqué en unité, où l'unité est [seconde, minute, heure, jour, semaine, mois, trimestre ou année].

SELECT date_trunc('minute', TIMESTAMP '2022-06-17 17:44:43.771000000')

Exemple de résultat : 2022-06-17 17:44:00.000000000

Intervalle et durée

Timestream for LiveAnalytics prend en charge les fonctions d'intervalle et de durée suivantes pour la date et l'heure.

Fonction Type de données de sortie Description

date_add (unité, bigint, date), date_add (unité, bigint, heure), date_add (varchar (x), bigint, horodatage)

timestamp

Ajoute un bigint d'unités, où l'unité est l'une des valeurs suivantes : [seconde, minute, heure, jour, semaine, mois, trimestre ou année].

SELECT date_add('hour', 9, TIMESTAMP '2022-06-17 00:00:00')

Exemple de résultat : 2022-06-17 09:00:00.000000000

date_diff (unité, date, date), date_diff (unité, heure, heure), date_diff (unité, horodatage, horodatage)

bigint

Renvoie une différence dont l'unité est [seconde, minute, heure, jour, semaine, mois, trimestre ou année].

SELECT date_diff('day', DATE '2020-03-01', DATE '2020-03-02')

Exemple de résultat : 1

parse_duration (chaîne de caractères)

interval

Analyse la chaîne d'entrée pour renvoyer un interval équivalent.

SELECT parse_duration('42.8ms')

Exemple de résultat : 0 00:00:00.042800000

SELECT typeof(parse_duration('42.8ms'))

Exemple de résultat : interval day to second

bin (horodatage, intervalle)

timestamp

Arrondit la valeur entière du timestamp paramètre au multiple le plus proche de la valeur entière du interval paramètre.

La signification de cette valeur de retour n'est peut-être pas évidente. Il est calculé à l'aide de l'arithmétique des entiers en divisant d'abord le nombre entier d'horodatage par l'entier d'intervalle, puis en multipliant le résultat par l'entier d'intervalle.

En gardant à l'esprit qu'un horodatage indique un UTC point dans le temps en tant que nombre de fractions de seconde écoulées depuis l'POSIXépoque (1er janvier 1970), la valeur renvoyée s'alignera rarement sur les unités du calendrier. Par exemple, si vous spécifiez un intervalle de 30 jours, tous les jours écoulés depuis l'époque sont divisés en tranches de 30 jours, et le début de la dernière tranche de 30 jours est renvoyé, ce qui n'a aucun rapport avec les mois civils.

Voici quelques exemples :

bin(TIMESTAMP '2022-06-17 10:15:20', 5m) ==> 2022-06-17 10:15:00.000000000 bin(TIMESTAMP '2022-06-17 10:15:20', 1d) ==> 2022-06-17 00:00:00.000000000 bin(TIMESTAMP '2022-06-17 10:15:20', 10day) ==> 2022-06-17 00:00:00.000000000 bin(TIMESTAMP '2022-06-17 10:15:20', 30day) ==> 2022-05-28 00:00:00.000000000

il y a (intervalle)

timestamp

Renvoie la valeur correspondant à interval current_timestamp.

SELECT ago(1d)

Exemple de résultat : 2022-07-06 21:08:53.245000000

littéraux d'intervalle tels que 1h, 1d et 30m

interval

Les littéraux d'intervalle sont pratiques pour parse_duration (chaîne). Par exemple, 1d est identique à parse_duration('1d'). Cela permet d'utiliser les littéraux partout où un intervalle est utilisé. Par exemple : ago(1d) et bin(<timestamp>, 1m).

Certains littéraux d'intervalle servent de raccourci pour parse_duration. Par exemple,parse_duration('1day'), 1dayparse_duration('1d'), et 1d chaque retour 1 00:00:00.000000000 où se trouve le typeinterval day to second. L'espace est autorisé dans le format fourni àparse_duration. Par exemple, les retours sont parse_duration('1day') également00:00:00.000000000. Mais ce n'1 dayest pas un intervalle littéral.

Les unités associées interval day to second sont ns, nanoseconde, us, microseconde, ms, milliseconde, s, seconde, m, minute, h, heure, d et jour.

Il y en a égalementinterval year to month. Les unités associées à l'intervalle d'une année à l'autre sont y, année et mois. Par exemple, les SELECT 1year retours1-0. SELECT 12monthrevient également1-0. SELECT 8monthretours0-8.

Bien que l'unité de quarter soit également disponible pour certaines fonctions telles que date_trunc etdate_add, elle n'quarterest pas disponible dans le cadre d'un intervalle littéral.

Formatage et analyse

Timestream for LiveAnalytics prend en charge les fonctions de formatage et d'analyse suivantes pour la date et l'heure.

Fonction Type de données de sortie Description

date_format (horodatage, varchar (x))

varchar

Pour plus d'informations sur les spécificateurs de format utilisés par cette fonction, voir # https://trino.io/docs/current/functions/datetime.html mysql-date-functions

SELECT date_format(TIMESTAMP '2019-10-20 10:20:20', '%Y-%m-%d %H:%i:%s')

Exemple de résultat : 2019-10-20 10:20:20

date_parse (varchar (x), varchar (y))

timestamp

Pour plus d'informations sur les spécificateurs de format utilisés par cette fonction, voir # https://trino.io/docs/current/functions/datetime.html mysql-date-functions

SELECT date_parse('2019-10-20 10:20:20', '%Y-%m-%d %H:%i:%s')

Exemple de résultat : 2019-10-20 10:20:20.000000000

format_datetime (horodatage, varchar (x))

varchar

Pour plus d'informations sur la chaîne de format utilisée par cette fonction, consultez http://joda-time.sourceforge. net/apidocs/org/joda/time/format/DateTimeFormat.html

SELECT format_datetime(parse_datetime('1968-01-13 12', 'yyyy-MM-dd HH'), 'yyyy-MM-dd HH')

Exemple de résultat : 1968-01-13 12

parse_datetime (varchar (x), varchar (y))

timestamp

Pour plus d'informations sur la chaîne de format utilisée par cette fonction, consultez http://joda-time.sourceforge. net/apidocs/org/joda/time/format/DateTimeFormat.html

SELECT parse_datetime('2019-12-29 10:10 PST', 'uuuu-LL-dd HH:mm z')

Exemple de résultat : 2019-12-29 18:10:00.000000000

Extraction

Timestream for LiveAnalytics prend en charge les fonctions d'extraction suivantes pour la date et l'heure. La fonction d'extraction est à la base des autres fonctions pratiques.

Fonction Type de données de sortie Description

extract

bigint

Extrait un champ d'un horodatage, où le champ est l'un des suivants [YEAR,,,QUARTER, _OF_ MONTH WEEKDAY, DAY _OF_MONTH,, DAY _OF_WEEK, DAY _OF_DOW,,YEAR,DOY, YEAR ou]. WEEK YOW HOUR MINUTE SECOND

SELECT extract(YEAR FROM '2019-10-12 23:10:34.000000000')

Exemple de résultat : 2019

jour (horodatage), jour (date), jour (intervalle de jour à seconde)

bigint

SELECT day('2019-10-12 23:10:34.000000000')

Exemple de résultat : 12

jour_of_month (horodatage), day_of_month (date), day_of_month (intervalle d'un jour à une seconde)

bigint

SELECT day_of_month('2019-10-12 23:10:34.000000000')

Exemple de résultat : 12

jour_de_semaine (horodatage), jour_de_semaine (date)

bigint

SELECT day_of_week('2019-10-12 23:10:34.000000000')

Exemple de résultat : 6

jour_de_année (horodatage), jour_de_année (date)

bigint

SELECT day_of_year('2019-10-12 23:10:34.000000000')

Exemple de résultat : 285

dow (horodatage), dow (date)

bigint

Alias pour day_of_week

doy (horodatage), doy (date)

bigint

Alias pour day_of_year

heure (horodatage), heure (heure), heure (intervalle du jour à la seconde)

bigint

SELECT hour('2019-10-12 23:10:34.000000000')

Exemple de résultat : 23

milliseconde (horodatage), milliseconde (heure), milliseconde (intervalle jour par seconde)

bigint

SELECT millisecond('2019-10-12 23:10:34.000000000')

Exemple de résultat : 0

minute (horodatage), minute (heure), minute (intervalle du jour à la seconde)

bigint

SELECT minute('2019-10-12 23:10:34.000000000')

Exemple de résultat : 10

mois (horodatage), mois (date), mois (intervalle d'une année à l'autre)

bigint

SELECT month('2019-10-12 23:10:34.000000000')

Exemple de résultat : 10

nanoseconde (horodatage), nanoseconde (temps), nanoseconde (intervalle entre un jour et une seconde)

bigint

SELECT nanosecond(current_timestamp)

Exemple de résultat : 162000000

trimestre (horodatage), trimestre (date)

bigint

SELECT quarter('2019-10-12 23:10:34.000000000')

Exemple de résultat : 4

seconde (horodatage), seconde (heure), seconde (intervalle de jour à seconde)

bigint

SELECT second('2019-10-12 23:10:34.000000000')

Exemple de résultat : 34

semaine (horodatage), semaine (date)

bigint

SELECT week('2019-10-12 23:10:34.000000000')

Exemple de résultat : 41

semaine_de_année (horodatage), semaine_de_année (date)

bigint

Alias pour la semaine

année (horodatage), année (date), année (intervalle d'une année à l'autre)

bigint

SELECT year('2019-10-12 23:10:34.000000000')

Exemple de résultat : 2019

année_de_semaine (horodatage), année_de_semaine (date)

bigint

SELECT year_of_week('2019-10-12 23:10:34.000000000')

Exemple de résultat : 2019

yow (horodatage), yow (date)

bigint

Alias pour year_of_week