Datentypen für Datum und Uhrzeit¶
Snowflake unterstützt Datentypen zum Verwalten von Datumsangaben, Uhrzeiten und Zeitstempeln (Kombination aus Datum und Uhrzeit) Snowflake unterstützt auch Formate für Zeichenfolgen, die bei der Bearbeitung von Datumsangaben, Uhrzeiten und Zeitstempeln verwendet werden.
Unter diesem Thema:
Datentypen¶
Snowflake unterstützt die folgenden Datums- und Zeitdatentypen:
Bemerkung
Für DATE- und TIMESTAMP-Daten empfiehlt Snowflake die Verwendung von Jahreswerten zwischen 1582 und 9999. Snowflake akzeptiert einige Jahre außerhalb dieses Bereichs, aber Jahre vor 1582 sollten aufgrund von Einschränkungen im Gregorianischen Kalender vermieden werden.
DATE¶
Snowflake unterstützt nur einen DATE-Datentyp zum Speichern von Datumsangaben (ohne Zeitelemente).
DATE akzeptiert Datumsangaben in den gebräuchlichsten Formen (YYYY-MM-DD
, DD-MON-YYYY
und so weiter).
Alle akzeptierten TIMESTAMP-Werte sind auch gültige Eingaben für Datumswerte, allerdings wird die TIME-Information abgeschnitten.
DATETIME¶
DATETIME ist ein Alias für TIMESTAMP_NTZ.
TIME¶
Snowflake unterstützt einen einzigen TIME-Datentyp zum Speichern von Zeiten im Format HH:MI:SS
.
TIME unterstützt einen optionalen Genauigkeitsparameter für Sekundenbruchteile (z. B. TIME(3)
). Die Zeitgenauigkeit kann zwischen 0 (Sekunden) und 9 (Nanosekunden) liegen. Die Standardgenauigkeit ist 9.
Alle TIME-Werte müssen zwischen 00:00:00
und 23:59:59.999999999
liegen. TIME speichert intern die lokale Zeit vor Ort, d. h. alle Operationen für TIME-Werte werden ohne jegliche Berücksichtigung von Zeitzonen durchgeführt.
TIMESTAMP_LTZ , TIMESTAMP_NTZ , TIMESTAMP_TZ¶
Snowflake unterstützt drei Zeitstempelvarianten.
- TIMESTAMP_LTZ:
TIMESTAMP_LTZ speichert UTC-Zeit intern mit der angegebenen Genauigkeit. Alle Operationen werden jedoch in der Zeitzone der aktuellen Sitzung ausgeführt, gesteuert vom Sitzungsparameter TIMEZONE.
Aliasse für TIMESTAMP_LTZ:
TIMESTAMPLTZ
TIMESTAMP WITH LOCAL TIME ZONE
- TIMESTAMP_NTZ:
TIMESTAMP_NTZ speichert intern die „Wanduhr“-Zeit mit einer bestimmten Genauigkeit. Alle Operationen werden ohne Berücksichtigung von Zeitzonen durchgeführt.
Wenn das Ausgabeformat eine Zeitzone enthält, wird der UTC-Indikator (
Z
) angezeigt.TIMESTAMP_NTZ ist die Standardeinstellung für TIMESTAMP.
Aliasse für TIMESTAMP_NTZ:
TIMESTAMPNTZ
TIMESTAMP WITHOUT TIME ZONE
DATETIME
- TIMESTAMP_TZ:
TIMESTAMP_TZ speichert die UTC-Zeit intern zusammen mit einem zugehörigen Zeitzonenoffset. Wenn keine Zeitzone angegeben ist, wird der Zeitzonenoffset der Sitzung verwendet. Alle Operationen werden mit dem für jeweiligen Datensatz spezifischen Zeitzonenoffset durchgeführt.
Aliasse für TIMESTAMP_TZ:
TIMESTAMPTZ
TIMESTAMP WITH TIME ZONE
TIMESTAMP_TZ-Werte werden anhand ihrer Zeiten in UTC verglichen. Der folgende Vergleich zwischen verschiedenen Zeiten in unterschiedlichen Zeitzonen gibt zum Beispiel TRUE zurück, da die beiden Werte äquivalente Zeiten in UTC haben.
SELECT '2024-01-01 00:00:00 +0000'::TIMESTAMP_TZ = '2024-01-01 01:00:00 +0100'::TIMESTAMP_TZ;
Achtung
Aktuell speichert TIMESTAMP_TZ zum Zeitpunkt der Erstellung für einen bestimmten Wert nur den Offset einer gegebenen Zeitzone, nicht die Zeitzone selbst. Dies ist besonders wichtig für die Sommerzeit, die von UTC nicht genutzt wird.
Wenn der Parameter TIMEZONE beispielsweise auf "America/Los_Angeles"
gesetzt ist, wird beim Konvertieren eines Werts in TIMESTAMP_TZ im Januar eines gegebenen Jahres der Zeitzonenoffset -0800
gespeichert. Wenn der Wert später um sechs Monate erhöht wird, wird der Offset -0800
beibehalten, obwohl der Offset für Los Angeles im Juli -0700
lautet. Das liegt daran, dass nach Erstellung des Werts die Information zur aktuellen Zeitzone ("America/Los_Angeles"
) nicht mehr verfügbar ist. Das folgende Codebeispiel veranschaulicht dieses Verhalten:
SELECT '2024-01-01 12:00:00'::TIMESTAMP_TZ;
+-------------------------------------+
| '2024-01-01 12:00:00'::TIMESTAMP_TZ |
|-------------------------------------|
| 2024-01-01 12:00:00.000 -0800 |
+-------------------------------------+
SELECT DATEADD(MONTH, 6, '2024-01-01 12:00:00'::TIMESTAMP_TZ);
+--------------------------------------------------------+
| DATEADD(MONTH, 6, '2024-01-01 12:00:00'::TIMESTAMP_TZ) |
|--------------------------------------------------------|
| 2024-07-01 12:00:00.000 -0800 |
+--------------------------------------------------------+
TIMESTAMP¶
TIMESTAMP in Snowflake ist ein benutzerdefinierter Alias, der einer der TIMESTAMP_*-Varianten zugeordnet ist. Bei allen Operationen, in denen TIMESTAMP verwendet wird, wird automatisch die zugeordnete TIMESTAMP_*-Variante verwendet. Der Datentyp TIMESTAMP wird niemals in Tabellen gespeichert.
Die mit TIMESTAMP verknüpfte TIMESTAMP_*-Variante wird durch den Sitzungsparameter TIMESTAMP_TYPE_MAPPING angegeben. Die Voreinstellung ist TIMESTAMP_NTZ.
Alle Zeitstempelvarianten und der TIMESTAMP-Alias unterstützen einen optionalen Präzisionsparameter für Sekundenbruchteile (z. B. TIMESTAMP(3)
). Die Genauigkeit eines Zeitstempels kann zwischen 0 (Sekunden) und 9 (Nanosekunden) liegen. Die Standardgenauigkeit ist 9.
Beispiele für Zeitstempel¶
Diese Beispiele erstellen eine Tabelle mit verschiedenen Zeitstempeln.
Erstellen Sie zunächst eine Tabelle mit einer TIMESTAMP-Spalte (zugeordnet zu TIMESTAMP_NTZ):
ALTER SESSION SET TIMESTAMP_TYPE_MAPPING = TIMESTAMP_NTZ;
CREATE OR REPLACE TABLE ts_test(ts TIMESTAMP);
DESC TABLE ts_test;
+------+------------------+--------+-------+---------+-------------+------------+-------+------------+---------+-------------+----------------+
| name | type | kind | null? | default | primary key | unique key | check | expression | comment | policy name | privacy domain |
|------+------------------+--------+-------+---------+-------------+------------+-------+------------+---------+-------------+----------------|
| TS | TIMESTAMP_NTZ(9) | COLUMN | Y | NULL | N | N | NULL | NULL | NULL | NULL | NULL |
+------+------------------+--------+-------+---------+-------------+------------+-------+------------+---------+-------------+----------------+
Als Nächstes verwenden Sie explizit eine der TIMESTAMP Varianten (TIMESTAMP_LTZ):
CREATE OR REPLACE TABLE ts_test(ts TIMESTAMP_LTZ);
DESC TABLE ts_test;
+------+------------------+--------+-------+---------+-------------+------------+-------+------------+---------+-------------+----------------+
| name | type | kind | null? | default | primary key | unique key | check | expression | comment | policy name | privacy domain |
|------+------------------+--------+-------+---------+-------------+------------+-------+------------+---------+-------------+----------------|
| TS | TIMESTAMP_LTZ(9) | COLUMN | Y | NULL | N | N | NULL | NULL | NULL | NULL | NULL |
+------+------------------+--------+-------+---------+-------------+------------+-------+------------+---------+-------------+----------------+
Verwenden von TIMESTAMP_LTZ mit verschiedenen Zeitzonen:
CREATE OR REPLACE TABLE ts_test(ts TIMESTAMP_LTZ);
ALTER SESSION SET TIMEZONE = 'America/Los_Angeles';
INSERT INTO ts_test VALUES('2024-01-01 16:00:00');
INSERT INTO ts_test VALUES('2024-01-02 16:00:00 +00:00');
Diese Abfrage zeigt, dass es am 2. Januar 08:00 Uhr in Los Angeles ist (das ist 16:00 Uhr in UTC):
SELECT ts, hour(ts) FROM ts_test;
+-------------------------------+----------+
| TS | HOUR(TS) |
|-------------------------------+----------|
| 2024-01-01 16:00:00.000 -0800 | 16 |
| 2024-01-02 08:00:00.000 -0800 | 8 |
+-------------------------------+----------+
Beachten Sie außerdem, dass sich die Zeiten mit einer anderen Zeitzone ändern:
ALTER SESSION SET TIMEZONE = 'America/New_York';
SELECT ts, HOUR(ts) FROM ts_test;
+-------------------------------+----------+
| TS | HOUR(TS) |
|-------------------------------+----------|
| 2024-01-01 19:00:00.000 -0500 | 19 |
| 2024-01-02 11:00:00.000 -0500 | 11 |
+-------------------------------+----------+
Erstellen Sie eine Tabelle und verwenden Sie TIMESTAMP_NTZ:
CREATE OR REPLACE TABLE ts_test(ts TIMESTAMP_NTZ);
ALTER SESSION SET TIMEZONE = 'America/Los_Angeles';
INSERT INTO ts_test VALUES('2024-01-01 16:00:00');
INSERT INTO ts_test VALUES('2024-01-02 16:00:00 +00:00');
Beachten Sie, dass beide Zeiten aus verschiedenen Zeitzonen in dieselbe „Wanduhr“-Zeit umgerechnet werden:
SELECT ts, HOUR(ts) FROM ts_test;
+-------------------------+----------+
| TS | HOUR(TS) |
|-------------------------+----------|
| 2024-01-01 16:00:00.000 | 16 |
| 2024-01-02 16:00:00.000 | 16 |
+-------------------------+----------+
Beachten Sie außerdem, dass eine Änderung der Zeitzone der Sitzung keinen Einfluss auf die Ergebnisse hat:
ALTER SESSION SET TIMEZONE = 'America/New_York';
SELECT ts, HOUR(ts) FROM ts_test;
+-------------------------+----------+
| TS | HOUR(TS) |
|-------------------------+----------|
| 2024-01-01 16:00:00.000 | 16 |
| 2024-01-02 16:00:00.000 | 16 |
+-------------------------+----------+
Erstellen Sie eine Tabelle und verwenden Sie TIMESTAMP_TZ:
CREATE OR REPLACE TABLE ts_test(ts TIMESTAMP_TZ);
ALTER SESSION SET TIMEZONE = 'America/Los_Angeles';
INSERT INTO ts_test VALUES('2024-01-01 16:00:00');
INSERT INTO ts_test VALUES('2024-01-02 16:00:00 +00:00');
Beachten Sie, dass der Datensatz vom 1. Januar die Zeitzone der Sitzung übernommen hat und „America/Los_Angeles“ in einen numerischen Zeitzonenoffset konvertiert wurde:
SELECT ts, HOUR(ts) FROM ts_test;
+-------------------------------+----------+
| TS | HOUR(TS) |
|-------------------------------+----------|
| 2024-01-01 16:00:00.000 -0800 | 16 |
| 2024-01-02 16:00:00.000 +0000 | 16 |
+-------------------------------+----------+
Beachten Sie außerdem, dass eine Änderung der Zeitzone der Sitzung keinen Einfluss auf die Ergebnisse hat:
ALTER SESSION SET TIMEZONE = 'America/New_York';
SELECT ts, HOUR(ts) FROM ts_test;
+-------------------------------+----------+
| TS | HOUR(TS) |
|-------------------------------+----------|
| 2024-01-01 16:00:00.000 -0800 | 16 |
| 2024-01-02 16:00:00.000 +0000 | 16 |
+-------------------------------+----------+
Unterstützter Kalender¶
Snowflake verwendet für alle Datumsangaben und Zeitstempel den gregorianischen Kalender. Der gregorianische Kalender beginnt im Jahr 1582, berücksichtigt jedoch frühere Jahre. Dies ist wichtig, da Snowflake keine Datumsangaben vor 1582 (oder Berechnungen mit Datumsangaben vor 1582) anpasst, um mit dem julianischen Kalender übereinzustimmen. Das Formatelement UUUU
unterstützt negative Jahreszahlen.
Datums- und Uhrzeitformate¶
Alle diese Datentypen akzeptieren die meisten nicht eindeutigen Datums-, Zeit- oder Datums- und Zeitformate. Weitere Informationen zu Unterstützte Formate für AUTO-Erkennung für die Formate, die Snowflake erkennt, wenn die automatische Erkennung von Formaten konfiguriert ist.
Sie können das Datums- und Uhrzeitformat auch manuell angeben. Bei der Angabe des Formats können Sie die in der folgenden Tabelle aufgeführten Elemente verwenden, bei denen die Groß-/Kleinschreibung nicht berücksichtigt wird:
Formatelement |
Beschreibung |
---|---|
|
Vierstellige Jahresangabe. |
|
Zweistellige Jahreszahl, gesteuert durch den Sitzungsparameter TWO_DIGIT_CENTURY_START. Wenn Sie zum Beispiel |
|
Zweistelliger Monat ( |
|
Vollständiger oder abgekürzter Monatsname. |
|
Vollständiger Monatsname. |
|
Zwei Ziffern für Tag des Monats ( |
|
Abgekürzter Wochentag. |
|
Zwei Ziffern für Stunde ( |
|
Zwei Ziffern für Stunde ( |
|
Ante Meridiem ( |
|
Zwei Ziffern für Minute ( |
|
Zwei Ziffern für Sekunde ( |
|
Sekundenbruchteile mit der Genauigkeit |
|
Zeitzonenstunde und -minute, Offset von UTC. Kann |
|
Vierstellige Jahreszahl im ISO-Format, die für Jahre v. u. Z. negativ ist. |
Bemerkung
Bei Verwendung eines reinen Datumsformats wird davon ausgegangen, dass die zugehörige Uhrzeit Mitternacht an diesem Tag ist.
Alles, was im Format zwischen doppelten Anführungszeichen oder anderen als den oben genannten Elementen liegt, wird analysiert und formatiert, ohne interpretiert zu werden.
Weitere Informationen zu gültigen Bereichen, die Anzahl der Ziffern und zu bewährten Verfahren finden Sie unter Zusätzliche Informationen zur Verwendung von Datums-, Uhrzeit- und Zeitstempelformaten.
Beispiele für die Verwendung von Datums- und Uhrzeitformaten¶
Im folgenden Beispiel wird FF
verwendet, um anzugeben, dass die Ausgabe im Feld „Sekundenbruchteil“ 9 Ziffern hat:
CREATE TABLE timestamp_demo_table(
t TIMESTAMP,
t_tz TIMESTAMP_TZ,
t_ntz TIMESTAMP_NTZ,
t_ltz TIMESTAMP_LTZ);
INSERT INTO timestamp_demo_table (t, t_tz, t_ntz, t_ltz) VALUES (
'2024-03-12 01:02:03.123456789',
'2024-03-12 01:02:03.123456789',
'2024-03-12 01:02:03.123456789',
'2024-03-12 01:02:03.123456789');
ALTER SESSION SET TIMESTAMP_OUTPUT_FORMAT = 'YYYY-MM-DD HH24:MI:SS.FF';
ALTER SESSION SET TIMESTAMP_TZ_OUTPUT_FORMAT = 'YYYY-MM-DD HH24:MI:SS.FF';
ALTER SESSION SET TIMESTAMP_NTZ_OUTPUT_FORMAT = 'YYYY-MM-DD HH24:MI:SS.FF';
ALTER SESSION SET TIMESTAMP_LTZ_OUTPUT_FORMAT = 'YYYY-MM-DD HH24:MI:SS.FF';
SELECT t, t_tz, t_ntz, t_ltz
FROM timestamp_demo_table;
+-------------------------------+-------------------------------+-------------------------------+-------------------------------+
| T | T_TZ | T_NTZ | T_LTZ |
|-------------------------------+-------------------------------+-------------------------------+-------------------------------|
| 2024-03-12 01:02:03.123456789 | 2024-03-12 01:02:03.123456789 | 2024-03-12 01:02:03.123456789 | 2024-03-12 01:02:03.123456789 |
+-------------------------------+-------------------------------+-------------------------------+-------------------------------+
Datums- und Uhrzeitkonstanten¶
Konstanten (auch bekannt als Literale) sind feste Datenwerte. Snowflake unterstützt die Angabe von festen Datums-, Zeit- oder Zeitstempelwerten unter Verwendung von Zeichenfolgenkonstanten. Zeichenfolgenkonstanten müssen immer zwischen Trennzeichen eingeschlossen sein. Snowflake unterstützt die Nutzung einfacher Anführungszeichen zum Trennen von Zeichenfolgenkonstanten.
Beispiel:
DATE '2024-08-14'
TIME '10:03:56'
TIMESTAMP '2024-08-15 10:59:43'
Die Zeichenfolge wird als DATE-, TIME- oder TIMESTAMP-Wert analysiert, basierend auf dem Eingabeformat für den Datentyp, wie durch die folgenden Parameter festgelegt:
- DATE:
- TIME:
- TIMESTAMP:
Fügen Sie beispielsweise ein bestimmtes Datum in eine Spalte einer Tabelle ein:
CREATE TABLE t1 (d1 DATE);
INSERT INTO t1 (d1) VALUES (DATE '2024-08-15');
Intervallkonstanten¶
Sie können Intervallkonstanten verwenden, um einen Zeitraum zu bzw. von einem Datum, einer Uhrzeit oder einem Zeitstempel zu addieren oder abzuziehen. Intervallkonstanten werden mit dem Schlüsselwort INTERVAL implementiert, das die folgende Syntax aufweist:
{ + | - } INTERVAL '<integer> [ <date_time_part> ] [ , <integer> [ <date_time_part> ] ... ]'
Wie bei allen Zeichenfolgenkonstanten erfordert Snowflake einfache Anführungszeichen, um Intervallkonstanten zu trennen.
Das Schlüsselwort INTERVAL unterstützt eine oder mehrere Ganzzahlen und optional eine oder mehrere Datums- oder Uhrzeitkomponenten. Beispiel:
INTERVAL '1 year'
steht für ein Jahr.INTERVAL '4 years, 5 months, 3 hours'
entspricht vier Jahren, fünf Monaten und drei Stunden.
Wenn keine Datums- oder Zeitkomponente angegeben ist, stellt das Intervall Sekunden dar (so entspricht INTERVAL '2'
z. B. INTERVAL '2 seconds'
). Beachten Sie, dass sich dies von der Standardzeiteinheit zur Durchführung der Datumsberechnung unterscheidet. Weitere Details dazu finden Sie unter Einfache Arithmetik für Datumsangaben.
Die Liste der unterstützten Datums- und Uhrzeitkomponenten finden Sie unter Unterstützte Datums- und Uhrzeitkomponenten bei Intervallen.
Bemerkung
Die Reihenfolge der Intervallinkremente ist wichtig. Die Inkremente werden in der angegebenen Reihenfolge addiert oder subtrahiert. Beispiel:
INTERVAL '1 year, 1 day'
addiert oder subtrahiert zuerst ein Jahr und dann einen Tag.INTERVAL '1 day, 1 year'
addiert oder subtrahiert zuerst einen Tag und dann ein Jahr.
Unterschiede in der Reihenfolge können sich auf Berechnungen auswirken, die durch Kalenderereignisse wie Schaltjahre beeinflusst werden:
SELECT TO_DATE ('2019-02-28') + INTERVAL '1 day, 1 year';
+---------------------------------------------------+ | TO_DATE ('2019-02-28') + INTERVAL '1 DAY, 1 YEAR' | |---------------------------------------------------| | 2020-03-01 | +---------------------------------------------------+
SELECT TO_DATE ('2019-02-28') + INTERVAL '1 year, 1 day';
+---------------------------------------------------+ | TO_DATE ('2019-02-28') + INTERVAL '1 YEAR, 1 DAY' | |---------------------------------------------------| | 2020-02-29 | +---------------------------------------------------+
INTERVAL ist kein Datentyp ist (d. h. Sie können keine Tabellenspalte mit dem Datentyp INTERVALdefinieren). Intervalle können nur für Datums-, Uhrzeit- und Zeitstempelberechnungen verwendet werden.
Sie können kein Intervall mit einer SQL-Variable verwenden. Die folgende Abfrage gibt zum Beispiel einen Fehler zurück:
SET v1 = '1 year'; SELECT TO_DATE('2023-04-15') + INTERVAL $v1;
Unterstützte Datums- und Uhrzeitkomponenten bei Intervallen¶
Das Schlüsselwort INTERVAL unterstützt die folgenden Datums- und Uhrzeitkomponenten als Argumente (ohne Berücksichtigung der Groß- und Kleinschreibung):
Datums- oder Zeitkomponente |
Abkürzungen/Varianten |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Beispiele für Intervalle¶
Fügt zu einem bestimmten Datum ein Intervall von einem Jahr hinzu:
SELECT TO_DATE('2023-04-15') + INTERVAL '1 year';
+-------------------------------------------+
| TO_DATE('2023-04-15') + INTERVAL '1 YEAR' |
|-------------------------------------------|
| 2024-04-15 |
+-------------------------------------------+
Fügen Sie ein Intervall von 3 Stunden und 18 Minuten zu einer bestimmten Zeit hinzu:
SELECT TO_TIME('04:15:29') + INTERVAL '3 hours, 18 minutes';
+------------------------------------------------------+
| TO_TIME('04:15:29') + INTERVAL '3 HOURS, 18 MINUTES' |
|------------------------------------------------------|
| 07:33:29 |
+------------------------------------------------------+
Fügt der Ausgabe der Funktion CURRENT_TIMESTAMP ein komplexes Intervall hinzu:
SELECT CURRENT_TIMESTAMP + INTERVAL
'1 year, 3 quarters, 4 months, 5 weeks, 6 days, 7 minutes, 8 seconds,
1000 milliseconds, 4000000 microseconds, 5000000001 nanoseconds'
AS complex_interval1;
+-------------------------------+
| COMPLEX_INTERVAL1 |
|-------------------------------|
| 2026-11-07 18:07:19.875000001 |
+-------------------------------+
Fügt ein komplexes Intervall mit verkürzter Notation für Datums-/Zeitkomponenten zu einem bestimmten Datum hinzu:
SELECT TO_DATE('2025-01-17') + INTERVAL
'1 y, 3 q, 4 mm, 5 w, 6 d, 7 h, 9 m, 8 s,
1000 ms, 445343232 us, 898498273498 ns'
AS complex_interval2;
+-------------------------------+
| COMPLEX_INTERVAL2 |
|-------------------------------|
| 2027-03-30 07:31:32.841505498 |
+-------------------------------+
Fragt eine Tabelle mit Mitarbeiterinformationen ab und gibt die Namen von Mitarbeitern zurück, die in den letzten zwei Jahren und drei Monaten eingestellt wurden:
SELECT name, hire_date
FROM employees
WHERE hire_date > CURRENT_DATE - INTERVAL '2 y, 3 month';
Filtern Sie eine Spalte TIMESTAMP mit dem Namen ts
aus einer Tabelle mit dem Namen t1
und addieren Sie vier Sekunden zu jedem Rückgabewert:
SELECT ts + INTERVAL '4 seconds'
FROM t1
WHERE ts > TO_TIMESTAMP('2024-04-05 01:02:03');
Einfache Arithmetik für Datumsangaben¶
Zusätzlich zur Verwendung von Intervallkonstanten zum Addieren und Subtrahieren von Datumsangaben, Zeiten und Zeitstempeln können Sie auch Tage zu und von DATE Werten addieren und subtrahieren, und zwar in der Form von { + | - }
integer
, wobei integer
die Anzahl der zu addierenden/subtrahierenden Tage angibt.
Bemerkung
TIME- und TIMESTAMP-Werte unterstützen noch keine einfache Arithmetik.
Beispiele für Datumsberechnungen¶
Fügen Sie einen Tag zu einem bestimmten Datum hinzu:
SELECT TO_DATE('2024-04-15') + 1;
+---------------------------+
| TO_DATE('2024-04-15') + 1 |
|---------------------------|
| 2024-04-16 |
+---------------------------+
Ziehen Sie vier Tage von einem bestimmten Datum ab:
SELECT TO_DATE('2024-04-15') - 4;
+---------------------------+
| TO_DATE('2024-04-15') - 4 |
|---------------------------|
| 2024-04-11 |
+---------------------------+
Fragt eine Tabelle namens employees
ab und gibt die Namen von Personen zurück, die das Unternehmen verlassen haben, aber mehr als 365 Tage im Unternehmen beschäftigt waren:
SELECT name
FROM employees
WHERE end_date > start_date + 365;