Wenn Sie Ihre Abfrage im SQL-Editor eingeben oder eine Berechnung erstellen, verwenden Sie Presto SQL-Syntax. Zum Anpassen oder Berechnen von Datums- oder Zeitstempelwerten können Sie diese allgemeinen Funktionen nutzen.
Hinweis: Laufzeitvariablen in Chains, wie z.B. die für Datums-und Zeittransformationen verwendeten, verwenden Python strftime und nicht Presto SQL.
AT ZEITZONE
Um die Zeitzone eines Zeitstempels zu konvertieren, verwenden Sie den Operator AT TIME ZONE. Zum Beispiel:
WÄHLEN cast(Zeitstempel '2020-10-31 01:00 UTC' as VARCHAR) 2020-10-31 01:00:00.000 UTC WÄHLEN cast(Zeitstempel '2020-10-31 01:00 UTC' AT TIME ZONE 'America/Los_Angeles' as VARCHAR) 2020-10-30 18:00:00.000 America/Los_Angeles
Tipp: In den meisten Gebieten können Sie America/Los_Angeles für die pazifische Zeitzone, America/Denver für Mountain, America/Chicago für Central und America/New_York für Eastern verwenden.
AKTUELLES_DATUM
Um das Datum zurückzugeben, an dem die Abfrage läuft, verwenden Sie die Funktion AKTUELLES_DATUM. Zum Beispiel: WÄHLEN AKTUELLES_DATUM().
Datum
Um einen Wert in einen Datumswert umzuwandeln, verwenden Sie die Funktion DATUM als DATUM(Wert).
DATUM_HINZUFÜGEN
Um einen Intervalleinheitswert zu einem Datum oder Zeitstempel hinzuzufügen, verwenden Sie die Funktion DATUM_HINZUFÜGEN als DATUM_HINZUFÜGEN(Einheit, Wert, Zeitstempel). Für Einheit, DATUM_HINZUFÜGEN unterstützt:
MillisekundeSekundeMinuteStundeTagWocheMonatQuartalJahr
Beispiel: WÄHLEN SIE DATUM_HINZUFÜGEN('Tag', 10, "2020-06-15") liefert 2020-06-25.
Hinweis: Um eine IS08601-formatierte Zeichenkette als Datumswert zu analysieren, verwenden Sie die Funktion VON_ISO8601_DATUM, z. B. VON_ISO8601_DATUM('2020-06-15').
DATUM_DIFF
Um die Differenz von zwei Datums-oder Zeitstempelwerten zu ermitteln, verwenden Sie die Funktion DATUM_DIFF als DATUM_DIFF(unit, Zeitstempel1, Zeitstempel 2). Für die Einheit unterstützt DATUM_DIFF die gleichen Werte wie DATUM_HINZUFÜGEN. Beispiel: WÄHLEN SIE DATUM_DIFF('Tag', "2020-06-15", "2020-06-25") liefert 10.
Beachten Sie, dass DATE_DIFF nur für Date-Objekte gilt und Sie möglicherweise andere Objekte casten müssen, damit diese Funktion funktioniert.
Hinweis: Um eine IS08601-formatierte Zeichenkette als Datumswert zu analysieren, verwenden Sie die Funktion VON_ISO8601_DATUM, z. B. VON_ISO8601_DATUM('2020-06-15').
DATUM_FORMAT
Um einen Datums-oder Zeitstempelwert in einem bestimmten Format zurückzugeben, verwenden Sie die Funktion DATUM_FORMAT als DATUM_FORMAT(Zeitstempel, Format). Für das Format , DATUM_FORMAT wird eine Kombination dieser Werte unterstützt:
| Formatieren | Beschreibung |
|---|---|
%a |
Abgekürzter Name des Wochentags, vonSo bis Sa |
%b |
Abgekürzter Monatsname, von Jan bis Dez |
%c |
Numerischer Monatswert, von 1 bis 12 |
%D
|
Numeric day of the month with its suffix, such as 1st,
2nd, 3rd...
|
%d |
Numerischer Tag des Monats als zweistellige Zahl, von 01 bis 31 |
%e |
Numerischer Tag des Monats, von 1 bis 31 |
%f |
Millisekunde, von 000000 bis 999000 zum Drucken; von 0 bis 999999999 zum Parsen |
%H |
Stunde der 24-Stunden-Uhr als zweistellige Zahl, von 00 bis 23 |
%h oder %I |
Stunde der 12-Stunden-Uhrzeitangabe als zweistellige Zahl, von 00 bis 12 |
%i |
Minute, von 00 bis 59 |
%j |
Tag des Jahres als dreistellige Zahl, von 000 bis 366 |
%k |
Stunde der 24-Stunden-Uhr, von 0 bis 23 |
%l |
Stunde der 12-Stunden-Uhrzeitangabe, von 0 bis 12 |
%M |
Monatsname, von Januar bis Dezember |
%m |
Numerischer Monatswert als zweistellige Zahl, von 01 bis 12 |
%p |
AM oder PM der 12-Stunden-Uhrzeitangabe |
%r |
Zeit als 12-Stunden-Uhrzeitangabe, als hh:mm:ss gefolgt von AM oder PM |
%s oder %S |
Sekunden, von 00 bis 59 |
%T |
Zeit als 24-Stunden-Uhrzeitangabe, als hh:mm:ss |
%U
|
Week of the year, from 00 to 53,
where Sunday is the first day of the week
|
%u
|
Week of the year, from 00 to 53,
where Monday is the first day of the week
|
%V
|
Week of the year, from 01 to 53,
where Sunday is the first day of the week; used with %X
|
%v |
Woche des Jahres, von 01 bis 53, wobei Montag der erste Tag der Woche ist; verwendet mit %x |
%W |
Name des Wochentags, vonSonntag bis Samstag |
%w
|
Day of the week, from 0 to 6,
where Sunday is the first day of the week
|
%X
|
Year for when Sunday is the first day of the week; used with %V
|
%x |
Jahr, wenn der Montag der erste Tag der Woche ist; verwendet mit %v |
%Y |
Jahr, als vierstellige Zahl |
%y |
Jahr, als zweistellige Zahl Hinweis: Beim Parsing geht |
%% |
Das wörtliche % Zeichen |
Hinweis: Um den Wochentag als Zahl zu erhalten, von 1 bis 7, verwenden Sie die Funktion TAG_DER_WOCHE.
DAY
Um den Tag des Monats — als Zahl von 1 bis 31 — aus einem Datum oder Zeitstempel zu ermitteln, verwenden Sie die Funktion Tag als Tag(DATUM_Wert). Beispiel: WÄHLEN Tag(„2020-06-15“) liefert 15.
WOCHENTAG
Um den Tag der Woche — als Zahl von 1 für Montag bis 7 für Sonntag — aus einem Datum oder Zeitstempel zu ermitteln, verwenden Sie die Funktion TAG_DER_WOCHE als TAG_DER_WOCHE(DATUM_Wert).
EOMONTH
Um die Zahl des letzten Tages des Monats aus einem Datum oder Zeitstempel zu ermitteln, verwenden Sie die Funktion EOMONTH, z. B. EOMONTH(date_value, month_number_value).
VON_ISO8601_DATUM
Um eine ISO8601-formatierte Zeichenkette als Datum zu analysieren, verwenden Sie die Funktion FROM_ISO8601_DATUM, z. B. FROM_ISO8601_DATUM(DATUM_Wert).
INTERVALL
Um Intervalleinheiten für ein Datum oder einen Zeitstempel zu HINZUFÜGENieren oder zu subtrahieren, verwenden Sie die Funktion INTERVALL mit einem + oder - Operator, wie z. B. +/-INTERVALL Wert Einheit.L Für unit, INTERVALL unterstützt die gleichen Werte wie DATUM_HINZUFÜGEN. Zum Beispiel:
-
DATUM '2020-08-08' + INTERVALL '2' Tagliefert 2020-08-10. -
Zeitstempel '2020-08-08 01:00' + INTERVALL '29' Stundengibt zurück 2020-08-09 06:00:00.000. -
INTERVALL '2' Tag + INTERVALL '3' Stundeliefert 2 03:00:00.000. -
Zeitstempel '2020-10-31 01:00'-INTERVALL '1' Monatliefert 2020-09-30 01:00:00.000.
Monat
Um den Monat — als Zahl von 1 bis 12 — aus einem Datum oder Zeitstempel zurückzugeben, verwenden Sie die Funktion MONAT als MONAT(Datum_Wert). Beispiel: WÄHLEN MONAT(„2020-06-15“) liefert 6.
JETZT
Um den Zeitstempel zurückzugeben, wenn die Abfrage läuft, verwenden Sie die Funktion JETZT. Zum Beispiel: WÄHLEN JETZT().
QUARTAL
Um das Quartal des Jahres — als Zahl von 1 bis 4 — aus einem Datum oder Zeitstempel zu ermitteln, verwenden Sie die Funktion QUARTER als QUARTER(DATUM_Wert). Beispiel: WÄHLEN QUARTER("2020-06-15") liefert 2.
Jahr
Um das Jahr — als Zahl von 1000 bis 9990 — aus einem Datum oder Zeitstempel zurückzugeben, verwenden Sie die Funktion YEAR als YEAR(DATUM_Wert). Zum Beispiel: WÄHLEN YEAR("2020-06-15") gibt 2020 zurück.