🧚 Hör mal! Beekeeper Studio ist eine schnelle, moderne Open-Source-Datenbank-GUI Download
2. Juli 2025 Von Matthew Rathbone

Um in SQL ein Datum einzufügen, schreibst du es in deinem INSERT-Statement als 'YYYY-MM-DD'-String oder nutzt für das heutige Datum eine Funktion wie CURRENT_DATE. Die Beispiele funktionieren in PostgreSQL, MySQL, SQLite und SQL Server.

So fügst du in SQL ein Datum ein

Schreib das Datum als String im Format 'YYYY-MM-DD'. Hat die Spalte einen Datumstyp, wandelt die Datenbank den String in ein Datum um:

INSERT INTO table_name (date_column) VALUES ('YYYY-MM-DD');
INSERT INTO orders (order_id, customer, order_date)
VALUES (2, 'Tom', '2021-06-15');

Bei einer TIMESTAMP- oder DATETIME-Spalte hängst du die Uhrzeit nach einem Leerzeichen im 24-Stunden-Format an:

INSERT INTO flights (flight_no, departs_at)
VALUES ('UA 940', '2026-11-02 17:45:00');
-- In SQL Server, make departs_at a DATETIME2: its TIMESTAMP type isn't a date

Für das heutige Datum setzt du CURRENT_DATE ohne Anführungszeichen an die Stelle des Strings. CURRENT_TIMESTAMP liefert Datum und Uhrzeit:

INSERT INTO orders (order_id, customer, order_date)
VALUES (3, 'Priya', CURRENT_DATE);
-- In SQL Server, use CAST(GETDATE() AS DATE): it has no CURRENT_DATE

-- Output (the new row, run on 2026-10-13):
-- order_id | customer | order_date
-- ---------+----------+-----------
-- 3        | Priya    | 2026-10-13

Wichtige Regeln

  • Bleib bei 'YYYY-MM-DD'. Andere Formate hängen von den Einstellungen der Datenbank ab. PostgreSQL und SQL Server lesen '06/15/2021' als Monat/Tag/Jahr, MySQL lehnt es ab:
INSERT INTO orders (order_id, customer, order_date) VALUES (4, 'Ana', '06/15/2021');
-- MySQL: ERROR 1292 (22007): Incorrect date value: '06/15/2021' for column 'order_date' at row 1
  • SQLite prüft keine Datumswerte. Es hat keinen Datumstyp und speichert jeden Text, den du ihm gibst. Seine Datumsfunktionen können '06/15/2021' nicht lesen und machen aus '2021-02-30' einfach 2021-03-02.
  • MySQLs TIMESTAMP deckt nur 1970 bis 2038 ab. Nimm DATETIME für Geburtstage, historische Daten und alles, was weit in der Zukunft liegt:
-- MySQL
CREATE TABLE people (name VARCHAR(50), born_at TIMESTAMP);
INSERT INTO people (name, born_at) VALUES ('Ada Lovelace', '1815-12-10 00:00:00');
-- ERROR 1292 (22007): Incorrect datetime value: '1815-12-10 00:00:00' for column 'born_at' at row 1
  • „Jetzt“ gilt in der Zeitzone der Datenbank (in SQLite immer UTC). Sind deine Nutzer in mehreren Zeitzonen unterwegs, speichere UTC.

Alternative Syntax

Du wirst auch auf die eigenen Namen der jeweiligen Datenbank für heute und jetzt stoßen:

  • MySQL: CURDATE() und NOW(). PostgreSQL kennt NOW() ebenfalls.
  • SQLite: date('now') und datetime('now').
  • SQL Server: CAST(GETDATE() AS DATE) und GETDATE(). Es gibt kein CURRENT_DATE, daher braucht das heutige Datum den Cast.

Wann musst du ein Datum einfügen?

Die meisten Datums-Inserts gehören zu einer dieser fünf Aufgaben, und jede hat ihr eigenes Werkzeug.

Ein bekanntes Datum speichern

Geburtstage, Fälligkeitsdaten und Termine kommen von einer Person oder aus einem Formular. Gib sie als 'YYYY-MM-DD'-Strings ein.

Heutiges Datum oder aktuelle Uhrzeit setzen

Bestelldaten, Registrierungsdaten und Audit-Logs sollten von der Uhr der Datenbank kommen, nicht aus einem eingetippten Wert. Nutze CURRENT_DATE oder CURRENT_TIMESTAMP (GETDATE() in SQL Server) oder mach eines davon zum Standardwert der Spalte.

Uhrzeit zusätzlich zum Datum speichern

Meetings, Flüge und Log-Einträge brauchen auch die Uhrzeit. Verwende eine DATETIME- oder TIMESTAMP-Spalte und schreib 'YYYY-MM-DD HH:MM:SS'.

Ein Datum aus einem anderen berechnen

Fälligkeiten, Verlängerungen und Erinnerungen liegen eine feste Zeit nach einem anderen Datum. Lass die Datenbank rechnen: + INTERVAL in PostgreSQL und MySQL, DATEADD() in SQL Server und date() mit Modifier in SQLite.

Datumswerte in anderem Format laden

Tabellenkalkulationen und CSV-Exporte enthalten oft Datumsangaben wie 06/15/2021. Wandle sie beim Einfügen um: STR_TO_DATE() in MySQL, TO_DATE() in PostgreSQL und CONVERT() mit Style-Nummer in SQL Server. SQLite kann andere Formate nicht parsen, also stellst du den Text mit substr() um.

Praxisbeispiele zum Einfügen von Datumswerten

Mehrere Datumswerte in einem Statement einfügen

Eine Liste von Feiertagen kommt mit einem einzigen INSERT und einer Werte-Zeile pro Datum in die Tabelle:

INSERT INTO holidays (holiday_name, holiday_date)
VALUES
  ('Independence Day', '2026-07-04'),
  ('Thanksgiving', '2026-11-26'),
  ('Christmas Day', '2026-12-25');

Heutiges Datum per Standardwert eintragen

Gib der Spalte einen Standardwert, und jedes INSERT, das sie weglässt, bekommt das heutige Datum. MySQL braucht die Klammern um CURRENT_DATE:

CREATE TABLE orders (
  order_id INT,
  customer_id INT,
  order_date DATE DEFAULT (CURRENT_DATE)  -- SQL Server: DEFAULT CAST(GETDATE() AS DATE)
);

INSERT INTO orders (order_id, customer_id) VALUES (1, 42);

-- Output (the new row, run on 2026-10-13):
-- order_id | customer_id | order_date
-- ---------+-------------+-----------
-- 1        | 42          | 2026-10-13

Lokale Meeting-Zeit als UTC speichern

Jemand in New York bucht ein Meeting für 9:30 Uhr Ortszeit. Wandle die Zeit beim Einfügen in UTC um, damit alle Zeiten zusammenpassen:

INSERT INTO meetings (title, starts_at_utc)
VALUES ('Design review', TIMESTAMP '2026-10-20 09:30:00' AT TIME ZONE 'America/New_York' AT TIME ZONE 'UTC');
-- MySQL (once its time zone tables are loaded):
--   CONVERT_TZ('2026-10-20 09:30:00', 'America/New_York', 'UTC')
-- SQL Server:
--   CAST('2026-10-20 09:30:00' AS DATETIME2) AT TIME ZONE 'Eastern Standard Time' AT TIME ZONE 'UTC'

-- Output (the new row):
-- title         | starts_at_utc
-- --------------+--------------------
-- Design review | 2026-10-20 13:30:00

SQLite kennt keine benannten Zeitzonen, also rechne vor dem Einfügen in deiner Anwendung um.

Verlängerungsdatum einen Monat später setzen

Ein Abo verlängert sich einen Monat nach dem Start. Berechne das Verlängerungsdatum direkt im INSERT:

INSERT INTO subscriptions (customer, started_on, renews_on)
VALUES ('Tom', '2026-10-13', DATE '2026-10-13' + INTERVAL '1' MONTH);
-- SQL Server: DATEADD(month, 1, '2026-10-13')
-- SQLite:     date('2026-10-13', '+1 month')

-- Output (the new row):
-- customer | started_on | renews_on
-- ---------+------------+-----------
-- Tom      | 2026-10-13 | 2026-11-13

Achte in SQLite auf das Monatsende. Vom 31. Januar aus rutscht es in den März, während die anderen Datenbanken beim 28. Februar stoppen:

SELECT date('2026-01-31', '+1 month');
-- Output: 2026-03-03

Datumswerte im Format Tag/Monat/Jahr importieren

Ein Lieferant schickt Rechnungen im britischen Format, 15/06/2021. Teil der Datenbank beim Einfügen das Format mit:

INSERT INTO invoices (invoice_no, issued_on)
VALUES ('INV-1002', TO_DATE('15/06/2021', 'DD/MM/YYYY'));
-- MySQL:      STR_TO_DATE('15/06/2021', '%d/%m/%Y')
-- SQL Server: CONVERT(date, '15/06/2021', 103), where style 103 is dd/mm/yyyy
-- SQLite can't parse dates: rearrange the text with substr()

-- Output (the new row):
-- invoice_no | issued_on
-- -----------+-----------
-- INV-1002   | 2021-06-15

Weiterführende Artikel zum Einfügen von Datumswerten

In diesem Blog:

Offizielle Dokumentation:

Beekeeper Studio ist eine kostenlose & quelloffene Datenbank-GUI

Das beste SQL-Abfrage- & Editor-Tool, das ich je benutzt habe. Es bietet alles, was ich zum Verwalten meiner Datenbank brauche. - ⭐⭐⭐⭐⭐ Mit

Beekeeper Studio ist schnell, intuitiv und einfach zu bedienen. Beekeeper unterstützt jede Menge Datenbanken und läuft hervorragend auf Windows, Mac und Linux.

Die Linux-Version von Beekeeper hat 100% des Funktionsumfangs, ohne Abstriche und ohne Kompromisse.

Was Nutzer über Beekeeper Studio sagen

★★★★★
„Beekeeper Studio hat meinen alten SQL-Workflow komplett ersetzt. Es ist schnell, intuitiv und macht die Arbeit mit Datenbanken wieder zum Vergnügen.“
— Alex K., Datenbankentwickler
★★★★★
„Ich habe viele Datenbank-GUIs ausprobiert, aber Beekeeper trifft die perfekte Balance zwischen Funktionen und Einfachheit. Es funktioniert einfach.“
— Sarah M., Full Stack Engineer

Bereit für einen besseren SQL-Workflow?

download Kostenlos herunterladen