Wanneer u uw query invoert in de SQL Editor of een berekening maakt, gebruikt u Presto SQL syntaxis. Om datum- of tijdstempelwaarden aan te passen of berekeningen uit te voeren, kunt u deze algemene functies handig vinden.
Opmerking: Runtime variabelen in Chains, zoals die gebruikt worden voor datum- en tijdtransformaties, gebruiken Python strftime in plaats van Presto SQL.
OP TIJDZONE
Om de tijdzone van een tijdstempel om te zetten, gebruikt u de AT TIME ZONE operator. Bijvoorbeeld:
SELECT cast(timestamp '2020-10-31 01:00 UTC' als VARCHAR) 2020-10-31 01:00:00.000 UTC SELECT cast(timestamp '2020-10-31 01:00 UTC' AT TIME ZONE 'America/Los_Angeles' als VARCHAR) 2020-10-30 18:00:00.000 America/Los_Angeles
Tip: In de meeste gebieden kunt u America/Los_Angeles gebruiken voor de tijdzone Pacific, America/Denver voor Mountain, America/Chicago voor Central en America/New_York voor Eastern.
HUIDIGE DATUM
Om de datum te retourneren waarop de query wordt uitgevoerd, gebruikt u de functie CURRENT_DATE. Bijvoorbeeld, SELECT CURRENT_DATE().
DATUM
Om een waarde te converteren naar een datumwaarde, gebruikt u de functie DATE als DATE(waarde).
DATUM_ADD
Om een intervaleenheidswaarde aan een datum of tijdstempel toe te voegen, gebruikt u de functie DATE_ADD als DATE_ADD(eenheid, waarde, tijdstempel). Voor eenheid, DATE_ADD ondersteunt:
millisecondetweedeminuutuurdagweekmaandkwartaaljaar
Bijvoorbeeld, SELECT DATE_ADD('day', 10, "2020-06-15") geeft 2020-06-25.
Opmerking: Om een IS08601-geformatteerde tekenreeks als datumwaarde te parsen, gebruikt u de functie FROM_ISO8601_DATE, zoals FROM_ISO8601_DATE('2020-06-15').
DATUM_DIFF
Om het verschil van twee datum- of tijdstempelwaarden terug te geven, gebruikt u de functie DATE_DIFF als DATE_DIFF(unit, timestamp1, timestamp 2). Voor eenheid, DATE_DIFF ondersteunt dezelfde waarden als DATE_ADD. Bijvoorbeeld, SELECT DATE_DIFF('dag', "2020-06-15", "2020-06-25") geeft 10.
Merk op dat DATE_DIFF alleen van toepassing is op Datum-objecten en dat u mogelijk andere objecten moet casten om deze functie te laten werken.
Opmerking: Om een IS08601-geformatteerde tekenreeks als datumwaarde te parsen, gebruikt u de functie FROM_ISO8601_DATE, zoals FROM_ISO8601_DATE('2020-06-15').
DATUMFORMAT
Om een datum- of tijdstempelwaarde in een ingesteld formaat terug te geven, gebruikt u de functie DATE_FORMAT als DATE_FORMAT(timestamp, format). Voor formaat, DATE_FORMAT ondersteunt een combinatie van deze waarden:
| Formaat | Beschrijving |
|---|---|
%a |
Afgekorte naam van de dag van de week, vanZon tot Zat |
%b |
Afgekorte maandnaam, van Jan tot Dec |
%c |
Numerieke maandwaarde, van 1 tot 12 |
%D
|
Numeric day of the month with its suffix, such as 1st,
2nd, 3rd...
|
%d |
Numerieke dag van de maand als een getal van twee cijfers, van 01 tot 31 |
%e |
Numerieke dag van de maand, van 1 tot 31 |
%f |
Milliseconde, van 000000 tot 999000 voor afdrukken; van 0 tot 999999999 voor parsen |
%H |
Uur van 24-uursklok als een getal van twee cijfers, van 00 tot 23 |
%h of %I |
Uur van 12-uursklok als een getal van twee cijfers, van 00 tot 12 |
%i |
Minuut, van 00 tot 59 |
%j |
Dag van het jaar als getal van drie cijfers, van 000 tot 366 |
%k |
Uur van 24-uursklok, van 0 tot 23 |
%l |
Uur van 12-uursklok, van 0 tot 12 |
%M |
Maandnaam, van januari tot december |
%m |
Numerieke maandwaarde als een getal van twee cijfers, van 01 tot 12 |
%p |
AM of PM van 12-uursklok |
%r |
Tijd op 12-uursklok, als hh:mm:ss gevolgd door AM of PM |
%s of %S |
Ten tweede, van 00 naar 59 |
%T |
Tijd op 24-uursklok, 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 |
Week van het jaar, van 01 tot 53, waarbij maandag de eerste dag van de week is; gebruikt met %x |
%W |
Naam van de dag van de week, vanzondag tot zaterdag |
%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 |
Jaar voor wanneer maandag de eerste dag van de week is; gebruikt met %v |
%Y |
Jaar, als een getal van vier cijfers |
%y |
Jaar, als een getal van twee cijfers Opmerking: Bij het parsen, |
%% |
Het letterlijke % teken |
Opmerking: Om de dag van de week als getal terug te geven, van 1 tot 7, gebruikt u de functie DAY_OF_WEEK.
DAG
Gebruik de functie DAY als DAY(date_value) om de dag van de maand terug te geven als een getal van 1 tot 31 uit een datum of tijdstempel. Bijvoorbeeld, SELECT DAY("2020-06-15") geeft 15.
DAG_OF_WEEK
Om de dag van de week terug te geven - als een getal van 1 voor maandag tot 7 voor zondag - uit een datum of tijdstempel, gebruikt u de functie DAY_OF_WEEK als DAY_OF_WEEK(date_value).
LAATSTE.DAG
Om het nummer van de laatste dag van de maand terug te geven uit een datum of tijdstempel, gebruikt u de functie EOMONTH, zoals EOMONTH(date_value, month_number_value).
VANAF_ISO8601_DATUM
Om een ISO8601-geformatteerde tekenreeks als datum te ontleden, gebruikt u de functie FROM_ISO8601_DATE, zoals FROM_ISO8601_DATE(date_value).
INTERVAL
Om intervaleenheidswaarden voor een datum of tijdstempel toe te voegen of af te trekken, gebruikt u de functie INTERVAL met een operator + of -, zoals +/- INTERVAL waarde eenheid. Voor eenheid, INTERVAL ondersteunt dezelfde waarden als DATE_ADD. Bijvoorbeeld:
-
DATUM '2020-08-08' + INTERVAL '2' dagretourneert 2020-08-10. -
TIMESTAMP '2020-08-08 01:00' + INTERVAL '29' uurretourneert 2020-08-09 06:00:00.000. -
INTERVAL '2' dag + INTERVAL '3' uurretourneert 2 03:00:00.000. -
TIMESTAMP '2020-10-31 01:00' - INTERVAL '1' maandretourneert 2020-09-30 01:00:00.000.
MAAND
Gebruik de functie MONTH als MONTH(date_value) om de maand terug te geven - als een getal van 1 tot 12 - uit een datum of tijdstempel. Bijvoorbeeld, SELECT MONTH("2020-06-15") geeft 6.
NU
Om de tijdstempel te retourneren wanneer de query wordt uitgevoerd, gebruikt u de functie NOW. Bijvoorbeeld, SELECT NOW().
KWARTAAL
Gebruik de functie QUARTER als QUARTER(date_value) om het kwartaal van het jaar terug te geven als een getal van 1 tot 4 op basis van een datum of tijdstempel. Bijvoorbeeld, SELECT QUARTER("2020-06-15") geeft 2.
JAAR
Om het jaar terug te geven - als een getal van 1000 tot 9990 - van een datum of tijdstempel, gebruikt u de functie YEAR als YEAR(date_value). Bijvoorbeeld, SELECT YEAR("2020-06-15") geeft 2020.