Zum Hauptinhalt springen

Wie man ein Datum in SQL ausgibt: Eine einfache Anleitung mit Beispielen

Es ist wichtig zu beachten, dass sich die Syntax und die verfügbaren Funktionen je nach der verwendeten relationalen Datenbank (z. B. MySQL, PostgreSQL, Oracle usw.) leicht unterscheiden können. In diesem Artikel verwenden wir die allgemein akzeptierte SQL-Syntax, stellen jedoch sicher, dass Sie mit Ihrer Datenbank kompatibel ist.

Es gibt mehrere Möglichkeiten, ein Datum in SQL auszugeben. Am häufigsten werden die Funktionen GETDATE() und SYSDATETIME() verwendet, die das aktuelle Datum und die aktuelle Uhrzeit zurückgeben.

Beispiel für die Verwendung der Funktion GETDATE() :

SELECT GETDATE();

Das Ergebnis dieser Abfrage wird ungefähr so aussehen:

2025-02-15 10:30:22.000

Die Funktion SYSDATETIME() gibt das aktuelle Datum und die aktuelle Uhrzeit mit größerer Genauigkeit zurück:

SELECT SYSDATETIME();

Das Ergebnis wird wie folgt aussehen:

2025-02-15 10:30:22.9578216

Wenn Sie nur das Datum ohne die Uhrzeit anzeigen möchten, können Sie die CAST-Funktion verwenden :

SELECT CAST(GETDATE() AS DATE);

Das Ergebnis ist nur das Datum:

2025-02-15
SELECT CONVERT(VARCHAR, GETDATE(), 105);
15-02-2025

Was ist ein Datum in SQL

In SQL ist ein Datum ein Datentyp, der zum Speichern von Zeit- und Datumsinformationen verwendet wird. In der Regel kann das Datum die folgenden Informationen enthalten:

BestandteilEin Beispiel
Jahr2025
MonatMärz
Der Tag15
Stunde10
Minuten30
Sekunden45

Die möglichen Datumsangaben hängen jedoch vom Datentyp ab, der in einem bestimmten Datenbankverwaltungssystem (DBMS) verwendet wird. Zum Beispiel gibt es in MySQL die Datentypen DATE, DATETIME und TIMESTAMP, die unterschiedliche Genauigkeits- und Wertebereiche zum Speichern von Datum und Uhrzeit bereitstellen. Es ist wichtig, einen geeigneten Datentyp für eine bestimmte Anwendung auszuwählen, um Datenverluste oder falsche Datumsangaben zu vermeiden.

Formatieren eines Datums in SQL

Es gibt mehrere Funktionen in SQL, mit denen Sie ein Datum formatieren können. Sie können verwendet werden, um ein Datum in verschiedene Formate zu konvertieren und andere Datumsvorgänge durchzuführen.

SELECT DATE_FORMAT(date_column, '%Y-%m-%d') AS formatted_dateFROM your_table;

In diesem Beispiel akzeptiert die DATE_FORMAT() -Funktion zwei Parameter: eine Datumsspalte und ein Formatierungsmuster. Das Muster %Y-%m-%d gibt das Datumsformat "JJJJ-MM-TT" an, wobei J Jahr, M Monat und D Tag ist.

Die am häufigsten verwendeten Vorlagenelemente zum Formatieren eines Datums in SQL:

  • %Y ist ein 4-stelliges Jahr (z. B. 2025)
  • %m ist ein 2-stelliger Monat (z. B. 02)
  • %d ist ein 2-stelliger Tag (z. B. 13)
  • %H ist eine 2-stellige Stunde (24-Stunden-Format, z. B. 15)
  • %i ist eine 2-stellige Minute (z. B. 45)
  • %s ist eine 2-stellige Sekunde (z. B. 59)

Neben DATE_FORMAT() gibt es auch andere Funktionen, die zum Formatieren eines Datums in SQL verwendet werden können, z. B. CAST() und CONVERT() . Sie bieten zusätzliche Möglichkeiten für die Arbeit mit Daten.

Beachten Sie, dass die Datumsformatierung in SQL vom verwendeten DBMS (Datenbankverwaltungssystem) und seiner Version abhängt. Es wird daher empfohlen, die Dokumentation Ihres DBMS zu lesen, um genaue Informationen zu den Datumsformatierungsfunktionen zu erhalten.

Beispiel für die Verwendung der Funktion GETDATE() :

SELECT GETDATE();

Das Abfrageergebnis wird im folgenden Format angezeigt: 2025-01-01 15:30:00 .

Wenn Sie nur ein Datum ohne Uhrzeit ausgeben möchten, können Sie die Funktion CONVERT() verwenden und den date-Parameter an sie übergeben.

SELECT CONVERT(date, GETDATE());

Das Abfrageergebnis wird im folgenden Format angezeigt: 2025-01-01 .

Sie können auch die SYSDATETIME() -Funktion verwenden, um das aktuelle Datum und die aktuelle Uhrzeit im Format yyyy-mm-dd hh:mm:ss abzurufen.nnnnnnn .

Beispiel für die Verwendung der SYSDATETIME() -Funktion :

SELECT SYSDATETIME();

Das Abfrageergebnis wird im folgenden Format angezeigt: 2025-01-01 15:30:00.0000000 .

Sie können die Funktion DATE_SUB() in SQL verwenden, um ein Datum anzuzeigen, das vor einem bestimmten Datum liegt. Die Syntax für diese Funktion lautet wie folgt:

DATE_SUB(date, INTERVAL value unit)

  • date - Das angegebene Datum, zu dem ein anderes Datum angezeigt werden soll
  • value - Die Anzahl der Zeiteinheiten, um die das angegebene Datum geändert werden soll (kann negativ sein)
  • unit - Die Zeiteinheit, um die das angegebene Datum geändert werden soll. Die Werte können YEAR , MONTH , DAY , HOUR , MINUTE , SECOND sein

SELECT DATE_SUB('2025-05-15', INTERVAL 1 YEAR) AS previous_date;

Das Ergebnis der Abfrageausführung lautet:

Auf diese Weise wird ein Datum zurückgegeben, das für 1 Jahr vor dem angegebenen Datum '2025-05-15' liegt.

Um beispielsweise alle Datensätze anzuzeigen, die zwischen zwei bestimmten Daten erstellt wurden, können Sie die folgende Abfrage verwenden:

SELECT *FROM table_nameWHERE created_date BETWEEN '2025-01-01' AND '2025-12-31';

In diesem Beispiel wählen wir alle Datensätze aus der Tabelle table_name aus, bei denen das Feld created_date im angegebenen Bereich vom 1. Januar 2025 bis zum 31. Dezember 2025 liegt. Wenn Sie Datensätze anzeigen möchten, die nur innerhalb eines Tages erstellt wurden, können Sie diese Abfrage verwenden:

SELECT *FROM table_nameWHERE created_date BETWEEN '2025-01-01 00:00:00' AND '2025-01-01 23:59:59';

In diesem Fall wählen wir alle Datensätze aus, die am 1. Januar 2025 erstellt wurden.

Datums- und Uhrzeitwerte in SQL können in verschiedenen Formaten dargestellt werden, z. B. in Textform oder als numerische Datumslots. Abhängig von der Art der Felder und dem Format der Daten, mit denen Sie arbeiten, kann die Abfragesyntax unterschiedlich sein.

1. Aktuelles Datum:

Sie können die Funktion SYSDATE() verwenden, um das aktuelle Datum abzurufen. Der Rückgabewert ist im Format "JJJJ-MM-TT". Zum Beispiel:

2. Formatiertes Datum:

SELECT DATE_FORMAT(SYSDATE(), '%d.%m.%Y');

3. Ein bestimmtes Datum:

SELECT DATE '2025-01-01';