Funktionen für Datum und Uhrzeit - Amazon Timestream

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Funktionen für Datum und Uhrzeit

Anmerkung

Timestream for unterstützt LiveAnalytics keine negativen Zeitwerte. Jede Operation, die zu einer negativen Zeit führt, führt zu einem Fehler.

Timestream für LiveAnalytics verwendet die UTC-Zeitzone für Datum und Uhrzeit. Timestream unterstützt die folgenden Funktionen für Datum und Uhrzeit.

Allgemeines und Konvertierung

Timestream for LiveAnalytics unterstützt die folgenden allgemeinen Funktionen und Konvertierungsfunktionen für Datum und Uhrzeit.

Funktion Ausgabedatentyp Beschreibung

aktuelles_Datum

date

Gibt das aktuelle Datum in UTC zurück. Es werden keine Klammern verwendet.

SELECT current_date

Beispielergebnis: 2022-07-07

Anmerkung

Dies ist auch ein reserviertes Schlüsselwort. Eine Liste der reservierten Schlüsselwörter finden Sie unterReservierte Schlüsselwörter.

current_time

time

Gibt die aktuelle Zeit in UTC zurück. Es wurden keine Klammern verwendet.

SELECT current_time

Beispielergebnis: 17:41:52.827000000

Anmerkung

Dies ist auch ein reserviertes Schlüsselwort. Eine Liste der reservierten Schlüsselwörter finden Sie unterReservierte Schlüsselwörter.

current_timestamp oder now ()

Zeitstempel

Gibt den aktuellen Zeitstempel in UTC zurück.

SELECT current_timestamp

Beispielergebnis: 2022-07-07 17:42:32.939000000

Anmerkung

Dies ist auch ein reserviertes Schlüsselwort. Eine Liste der reservierten Schlüsselwörter finden Sie unterReservierte Schlüsselwörter.

current_timezone ()

varchar

Der Wert wird 'UTC' sein.

Timestream verwendet die UTC-Zeitzone für Datum und Uhrzeit.

SELECT current_timezone()

Beispielergebnis: UTC

Datum (varchar (x)), Datum (Zeitstempel)

date

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

Beispiel für ein Ergebnis: 2022-07-07

last_day_of_month (Zeitstempel), last_day_of_month (Datum)

date

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

Beispiel für ein Ergebnis: 2022-07-31

from_iso8601_timestamp (Zeichenfolge)

Zeitstempel

Analysiert den ISO 8601-Zeitstempel in ein internes Zeitstempelformat.

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

Beispielergebnis: 2022-06-17 03:04:05.000000000

from_iso8601_date (Zeichenfolge)

date

Analysiert die ISO 8601-Datumszeichenfolge in ein internes Zeitstempelformat für UTC 00:00:00 des angegebenen Datums.

SELECT from_iso8601_date('2022-07-17')

Beispielergebnis: 2022-07-17

to_iso8601 (Zeitstempel), to_iso8601 (Datum)

varchar

Gibt eine nach ISO 8601 formatierte Zeichenfolge für die Eingabe zurück.

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

Beispielergebnis: 2022-06-17

from_milliseconds (bigint)

Zeitstempel

SELECT from_milliseconds(1)

Beispielergebnis: 1970-01-01 00:00:00.001000000

from_nanoseconds (bigint)

Zeitstempel

select from_nanoseconds(300000001)

Beispielergebnis: 1970-01-01 00:00:00.300000001

from_unixtime (doppelt)

Zeitstempel

Gibt einen Zeitstempel zurück, der der angegebenen Unixtime entspricht.

SELECT from_unixtime(1)

Beispielergebnis: 1970-01-01 00:00:01.000000000

lokale Zeit

time

Gibt die aktuelle Uhrzeit in UTC zurück. Es wurden keine Klammern verwendet.

SELECT localtime

Beispielergebnis: 17:58:22.654000000

Anmerkung

Dies ist auch ein reserviertes Schlüsselwort. Eine Liste der reservierten Schlüsselwörter finden Sie unterReservierte Schlüsselwörter.

lokaler Zeitstempel

Zeitstempel

Gibt den aktuellen Zeitstempel in UTC zurück. Es werden keine Klammern verwendet.

SELECT localtimestamp

Beispielergebnis: 2022-07-07 17:59:04.368000000

Anmerkung

Dies ist auch ein reserviertes Schlüsselwort. Eine Liste der reservierten Schlüsselwörter finden Sie unterReservierte Schlüsselwörter.

to_milliseconds (Intervall von Tag bis Sekunde), to_milliseconds (Zeitstempel)

bigint

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

Beispielergebnis: 183600000

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

Beispielergebnis: 1655487883771

to_nanoseconds (Intervall von Tag zu Sekunde), to_nanoseconds (Zeitstempel)

bigint

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

Beispielergebnis: 183600000000000

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

Beispielergebnis: 1655487883771000678

to_unixtime (Zeitstempel)

double

Gibt Unixtime für den angegebenen Zeitstempel zurück.

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

Beispielergebnis: 1.6554878837710001E9

date_trunc (Einheit, Zeitstempel)

Zeitstempel

Gibt den auf eine Einheit gekürzten Zeitstempel zurück, wobei Einheit eins von [Sekunde, Minute, Stunde, Tag, Woche, Monat, Quartal oder Jahr] ist.

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

Beispielergebnis: 2022-06-17 17:44:00.000000000

Intervall und Dauer

Timestream for LiveAnalytics unterstützt die folgenden Intervall- und Dauerfunktionen für Datum und Uhrzeit.

Funktion Ausgabedatentyp Beschreibung

date_add (Einheit, Bigint, Datum), date_add (Einheit, Bigint, Zeit), date_add (varchar (x), bigint, timestamp)

Zeitstempel

Fügt einen Bigint von Einheiten hinzu, wobei Einheit eine von [Sekunde, Minute, Stunde, Tag, Woche, Monat, Quartal oder Jahr] ist.

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

Beispielergebnis: 2022-06-17 09:00:00.000000000

date_diff (Einheit, Datum, Datum), date_diff (Einheit, Zeit, Uhrzeit), date_diff (Einheit, Zeitstempel, Zeitstempel)

bigint

Gibt einen Unterschied zurück, wobei die Einheit eins von [Sekunde, Minute, Stunde, Tag, Woche, Monat, Quartal oder Jahr] ist.

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

Beispielergebnis: 1

parse_duration (Zeichenfolge)

Intervall

Analysiert die Eingabezeichenfolge, um ein Äquivalent zurückzugeben. interval

SELECT parse_duration('42.8ms')

Beispielergebnis: 0 00:00:00.042800000

SELECT typeof(parse_duration('42.8ms'))

Beispielergebnis: interval day to second

bin (Zeitstempel, Intervall)

Zeitstempel

Rundet den Integer-Wert des timestamp Parameters auf das nächste Vielfache des Integer-Werts des interval Parameters ab.

Die Bedeutung dieses Rückgabewerts ist möglicherweise nicht offensichtlich. Er wird mithilfe der Ganzzahl-Arithmetik berechnet, indem zuerst die Ganzzahl mit dem Zeitstempel durch die Ganzzahl für das Intervall dividiert und dann das Ergebnis mit der Intervallzahl multipliziert wird.

Wenn man bedenkt, dass ein Zeitstempel einen UTC-Zeitpunkt als Anzahl von Sekundenbruchteilen angibt, die seit der POSIX-Epoche (1. Januar 1970) vergangen sind, stimmt der Rückgabewert selten mit Kalendereinheiten überein. Wenn Sie beispielsweise ein Intervall von 30 Tagen angeben, werden alle Tage seit der Epoche in 30-Tage-Inkremente unterteilt, und der Beginn des letzten 30-Tage-Inkrements wird zurückgegeben, was keinen Bezug zu Kalendermonaten hat.

Hier sind einige Beispiele:

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

vor (Intervall)

Zeitstempel

Gibt den Wert zurück, der current_timestamp interval entspricht.

SELECT ago(1d)

Beispielergebnis: 2022-07-06 21:08:53.245000000

Intervallliterale wie 1h, 1d und 30m

Intervall

Intervallliterale sind praktisch für parse_duration (string). Zum Beispiel ist 1d identisch zu parse_duration('1d'). Dies ermöglicht die Verwendung der Literale überall dort, wo ein Intervall verwendet wird. Beispiel: ago(1d) und bin(<timestamp>, 1m).

Einige Intervallliterale dienen als Abkürzung für parse_duration. Zum Beispiel,,, und geben 1d jeweils parse_duration('1day') zurück 1dayparse_duration('1d'), wo sich der Typ befindet. 1 00:00:00.000000000 interval day to second Leerzeichen sind in dem Format zulässig, das für bereitgestellt wurdeparse_duration. Gibt zum Beispiel parse_duration('1day') auch zurück00:00:00.000000000. 1 dayIst aber kein Intervall wörtlich.

Die Einheiten, auf die sich beziehen, interval day to second sind ns, Nanosekunde, us, Mikrosekunde, ms, Millisekunde, s, Sekunde, m, Minute, h, Stunde, d und Tag.

Es gibt auch. interval year to month Die Einheiten, die sich auf das Intervall von Jahr zu Monat beziehen, sind Y, Jahr und Monat. Gibt zum Beispiel SELECT 1year zurück1-0. SELECT 12monthkehrt auch zurück1-0. SELECT 8monthkehrt zurück0-8.

Obwohl die Einheit von quarter auch für einige Funktionen wie date_trunc und verfügbar quarter istdate_add, ist sie nicht als Teil eines Intervallliterals verfügbar.

Formatieren und Analysieren

Timestream for LiveAnalytics unterstützt die folgenden Formatierungs- und Analysefunktionen für Datum und Uhrzeit.

Funktion Ausgabedatentyp Beschreibung

date_format (Zeitstempel, varchar (x))

varchar

Weitere Hinweise zu den von dieser Funktion verwendeten Formatbezeichnern finden Sie unter # 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')

Beispielergebnis: 2019-10-20 10:20:20

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

Zeitstempel

Weitere Hinweise zu den von dieser Funktion verwendeten Formatbezeichnern finden Sie unter # 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')

Beispielergebnis: 2019-10-20 10:20:20.000000000

format_datetime (Zeitstempel, varchar (x))

varchar

Weitere Informationen zu der von dieser Funktion verwendeten Formatzeichenfolge finden Sie unter 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')

Beispielergebnis: 1968-01-13 12

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

Zeitstempel

Weitere Informationen zu der von dieser Funktion verwendeten Formatzeichenfolge finden Sie unter 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')

Beispielergebnis: 2019-12-29 18:10:00.000000000

Extraktion

Timestream for LiveAnalytics unterstützt die folgenden Extraktionsfunktionen für Datum und Uhrzeit. Die Extraktfunktion ist die Grundlage für die übrigen Komfortfunktionen.

Funktion Datentyp der Ausgabe Beschreibung

extract

bigint

Extrahiert ein Feld aus einem Zeitstempel, wobei das Feld einem der Werte [JAHR, QUARTAL, MONAT, WOCHE, TAG, TAG_DES MONATS, DAY_OF_WEEK, DOW, DAY_OF_YEAR, DOY, YEAR_OF_WEEK, YOW, HOUR, MINUTE oder SECOND] entspricht.

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

Beispielergebnis: 2019

Tag (Zeitstempel), Tag (Datum), Tag (Intervall Tag bis Sekunde)

bigint

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

Beispiel für ein Ergebnis: 12

day_of_month (timestamp), day_of_month (Datum), day_of_month (Intervall von Tag bis Sekunde)

bigint

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

Beispiel für ein Ergebnis: 12

day_of_week (Zeitstempel), day_of_week (Datum)

bigint

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

Beispielergebnis: 6

day_of_year (Zeitstempel), day_of_year (Datum)

bigint

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

Beispielergebnis: 285

dow (Zeitstempel), dow (Datum)

bigint

Alias für day_of_week

doy (Zeitstempel), doy (Datum)

bigint

Alias für day_of_year

Stunde (Zeitstempel), Stunde (Zeit), Stunde (Intervall Tag bis Sekunde)

bigint

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

Beispiel für ein Ergebnis: 23

Millisekunde (Zeitstempel), Millisekunde (Zeit), Millisekunde (Intervall von Tag zu Sekunde)

bigint

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

Beispielergebnis: 0

Minute (Zeitstempel), Minute (Zeit), Minute (Intervall von Tag zu Sekunde)

bigint

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

Beispiel für ein Ergebnis: 10

Monat (Zeitstempel), Monat (Datum), Monat (Intervall von Jahr zu Monat)

bigint

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

Beispiel für ein Ergebnis: 10

Nanosekunde (Zeitstempel), Nanosekunde (Zeit), Nanosekunde (Intervall von Tag zu Sekunde)

bigint

SELECT nanosecond(current_timestamp)

Beispielergebnis: 162000000

Quartal (Zeitstempel), Quartal (Datum)

bigint

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

Beispiel für ein Ergebnis: 4

Sekunde (Zeitstempel), Sekunde (Zeit), Sekunde (Intervall von Tag zu Sekunde)

bigint

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

Beispiel für ein Ergebnis: 34

Woche (Zeitstempel), Woche (Datum)

bigint

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

Beispielergebnis: 41

week_of_year (Zeitstempel), week_of_year (Datum)

bigint

Alias für Woche

Jahr (Zeitstempel), Jahr (Datum), Jahr (Intervall von Jahr zu Monat)

bigint

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

Beispiel für ein Ergebnis: 2019

year_of_week (Zeitstempel), year_of_week (Datum)

bigint

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

Beispielergebnis: 2019

yow (Zeitstempel), yow (Datum)

bigint

Alias für year_of_week