Mysql
 sql >> Datenbank >  >> RDS >> Mysql

So erhalten Sie das Jahr und den Monat aus einem Datum in MySQL

Problem:

Sie möchten das Jahr und den Monat von einem bestimmten Datum in einer MySQL-Datenbank abrufen.

Beispiel:

Unsere Datenbank hat eine Tabelle namens dates mit Daten in den Spalten id und date .

id Datum
1 2008-04-21
2 14.12.1987

Extrahieren wir das year und der month ab dem Datum.

Lösung 1:

SELECT
EXTRACT(YEAR FROM date) AS year,
EXTRACT(MONTH FROM date) AS month
FROM dates;

Das Ergebnis ist:

Jahr Monat
2008 4
1987 12

Diskussion:

Um die Jahres- und Monatsspalten zu erhalten, verwenden Sie EXTRACT(part FROM date) Funktion. In dieser Lösung wird das Part-Argument durch YEAR ersetzt und MONTH um das year zu erhalten und der month getrennt, jeweils in einer eigenen Spalte.

Sie können mehr über EXTRACT() erfahren in der offiziellen MySQL-Dokumentation.

Lösung 2:

SELECT
EXTRACT(YEAR_MONTH FROM date) AS year_and_month
FROM dates;

Das Ergebnis ist:

Jahr_und_Monat
200804
198712

Diskussion:

Diese Lösung funktioniert genauso wie die vorherige, aber YEAR_MONTH wird verwendet, um das Jahr und den Monat zusammen in einer Spalte zu erhalten, anstatt sie separat zu erhalten. Beachten Sie, dass die Werte für das Jahr und den Monat nicht voneinander getrennt sind.

Lösung 3:

SELECT
YEAR(date) AS year,
MONTH(date) AS month
FROM dates;

Das Ergebnis ist:

Jahr Monat
2008 4
1987 12

Diskussion:

Diesmal das YEAR() und der MONTH() Funktionen werden verwendet, um zwei Spalten zu erstellen. YEAR() gibt das Jahr und MONTH() zurück gibt den Monat als Zahl zurück.

Lösung 4:

SELECT
YEAR(date) AS year,
MONTHNAME(date) AS month
FROM dates;

Das Ergebnis ist:

Jahr Monat
2008 April
1987 Dezember

Diskussion:

Um den Namen des Monats zu erhalten, verwenden Sie MONTHNAME() Funktion. Das Ergebnis zeigt den Monatsnamen anstelle der Monatsnummer an.

Lösung 5:

SELECT
DATE_FORMAT(date, '%Y-%m') AS year_and_month
FROM dates;

Das Ergebnis ist:

Jahr_und_Monat
2008-04
1987-12

Diskussion:

Verwenden Sie das DATE_FORMAT() Funktion zum Anzeigen von date Werte in einem bestimmten Format. Es nimmt das date als erstes Argument und eine Zeichenfolge, die das gewünschte Datumsformat beschreibt, als zweites Argument. In unserem Fall ist die Zeichenfolge '%Y-%m ', %Y gibt das Jahr zurück, - als Trennzeichen verwendet wird und %m gibt den Monat numerisch zurück (kann durch %M ersetzt werden um den Monatsnamen zu erhalten).

Sie können mehr über DATE_FORMAT() erfahren in der offiziellen MySQL-Dokumentation.