MariaDB
 sql >> Datenbank >  >> RDS >> MariaDB

11 Funktionen zum Abrufen von Tag, Monat und Jahr aus einem Datum in MariaDB

MariaDB enthält viele Funktionen zum Arbeiten mit Datumsangaben. Einige davon extrahieren bestimmte Teile aus solchen Daten und geben sie als Zeichenfolge oder Ganzzahl zurück.

Unten sind 11 Funktionen, die Sie verwenden können, um verschiedene Datumsteile in MariaDB zurückzugeben.

Die Funktionen

Hier sind zunächst die Funktionen:

  • DATE_FORMAT()
  • EXTRACT()
  • DAYNAME()
  • MONATSTAG()
  • DAY()
  • DAYOFWEEK()
  • DAYOFWEEK()
  • DAYOFYEAR()
  • MONTH()
  • MONTHNAME()
  • YEAR()

Nachfolgend finden Sie Beispiele für jede Funktion.

Das DATE_FORMAT() Funktion

Das DATE_FORMAT() Mit der Funktion können Sie ein Datum basierend auf einer Formatzeichenfolge formatieren. Der Formatstring gibt an, wie das Datum formatiert werden soll. Sie konstruieren Ihre eigene Formatzeichenfolge basierend auf einem oder mehreren Formatbezeichnern.

Hier ist ein Beispiel für die Verwendung von DATE_FORMAT() Tag, Monat und Jahr aus einem Datum zurückgeben:

SELECT DATE_FORMAT('2023-07-25', '%W, %D %M %Y');

Ergebnis:

+-------------------------------------------+
| DATE_FORMAT('2023-07-25', '%W, %D %M %Y') |
+-------------------------------------------+
| Tuesday, 25th July 2023                   |
+-------------------------------------------+

Das Gute an dieser Funktion ist, dass Sie viele Variationen des Datums zurückgeben können. Sie können beispielsweise nur die kurzen Tages- und Monatsnamen zurückgeben:

SELECT DATE_FORMAT('2023-07-25', '%a, %D %b %Y');

Ergebnis:

+-------------------------------------------+
| DATE_FORMAT('2023-07-25', '%a, %D %b %Y') |
+-------------------------------------------+
| Tue, 25th Jul 2023                        |
+-------------------------------------------+

Oder Sie können die Tagesmonatszahlen zurückgeben:

SELECT DATE_FORMAT('2023-07-25', '%d/%c/%Y');

Ergebnis:

+---------------------------------------+
| DATE_FORMAT('2023-07-25', '%d/%c/%Y') |
+---------------------------------------+
| 25/7/2023                             |
+---------------------------------------+

In dieser vollständigen Liste der Formatbezeichner finden Sie einen vollständigen Überblick über die Formatbezeichner, die Sie zum Erstellen einer Formatzeichenfolge verwenden können.

DATE_FORMAT() akzeptiert auch ein optionales locale-Argument, mit dem Sie die Sprache der Tages- und Monatsnamen angeben können. Es ist eine ziemlich flexible Funktion. Siehe DATE_FORMAT() für weitere Beispiele.

Der EXTRACT() Funktion

Der EXTRACT () Mit dieser Funktion können Sie eine bestimmte Einheit aus dem Datum extrahieren. So können Sie Tag, Monat und Jahr (sowie andere Einheiten) aus dem Datum extrahieren.

Beispiel:

SELECT 
    EXTRACT(DAY FROM '2023-07-25') AS Day,
    EXTRACT(MONTH FROM '2023-07-25') AS Month,
    EXTRACT(YEAR FROM '2023-07-25') AS Year;

Ergebnis:

+------+-------+------+
| Day  | Month | Year |
+------+-------+------+
|   25 |     7 | 2023 |
+------+-------+------+

Funktionen zur Rückgabe einer bestimmten Datumseinheit

MariaDB hat auch eine Reihe spezifischerer Funktionen, die eine bestimmte Datumseinheit zurückgeben.

Nachfolgend finden Sie eine Liste der Funktionen, die Tag, Monat und Jahr aus einem Datum zurückgeben.

Der DAYNAME() Funktion

Es gibt in MariaDB (und den meisten anderen DBMSs) eine ganze Reihe von Funktionen, um den Tag zurückzugeben. Dies liegt daran, dass MariaDB wissen muss, ob Sie den Tagesnamen, die Nummer des Wochentags, den Tag des Monats, den Tag des Jahres usw. wünschen.

Der DAYNAME() Die Funktion gibt den Namen des Wochentags zurück.

Beispiel:

SELECT DAYNAME('2023-07-25');

Ergebnis:

+-----------------------+
| DAYNAME('2023-07-25') |
+-----------------------+
| Tuesday               |
+-----------------------+

Der DAYOFMONTH() Funktion

Der DAYOFMONTH() Die Funktion gibt den Tag des Monats zurück.

Beispiel:

SELECT DAYOFMONTH('2023-07-25');

Ergebnis:

+--------------------------+
| DAYOFMONTH('2023-07-25') |
+--------------------------+
|                       25 |
+--------------------------+

Der DAY() Funktion

Der DAY() Funktion ist eigentlich ein Synonym für DAYOFMONTH() Funktion.

Beispiel:

SELECT DAY('2023-07-25');

Ergebnis:

+-------------------+
| DAY('2023-07-25') |
+-------------------+
|                25 |
+-------------------+

Wie erwartet dasselbe Ergebnis wie DAYOFMONTH() .

Der DAYOFWEEK() Funktion

Der DAYOFWEEK() Die Funktion gibt den Wochentagindex für das Datum zurück, wie vom ODBC-Standard angegeben (1 =Sonntag, 2 =Montag, …, 7 =Samstag).

Beispiel:

SELECT DAYOFWEEK('2023-07-25');

Ergebnis:

+-------------------------+
| DAYOFWEEK('2023-07-25') |
+-------------------------+
|                       3 |
+-------------------------+

Siehe WEEKDAY() unten für unterschiedliche Indexierung.

Der WEEKDAY() Funktion

Der WEEKDAY() Funktion ähnelt DAYOFWEEK() , dass es den Wochenindex für das Datum zurückgibt. Der Unterschied besteht darin, dass eine andere Indexnummerierung verwendet wird (0 =Montag, 1 =Dienstag, … 6 =Sonntag).

Beispiel:

SELECT WEEKDAY('2023-07-25');

Ergebnis:

+-----------------------+
| WEEKDAY('2023-07-25') |
+-----------------------+
|                     1 |
+-----------------------+

Der DAYOFYEAR() Funktion

Das DAYOFYEAR() Die Funktion gibt den Tag des Jahres für das Datum im Bereich 1 zurück zu 366 .

Beispiel:

SELECT DAYOFYEAR('2023-07-25');

Ergebnis:

+-------------------------+
| DAYOFYEAR('2023-07-25') |
+-------------------------+
|                     206 |
+-------------------------+

Der MONTH() Funktion

Der MONTH() Die Funktion gibt den Monat im Bereich 1 zurück bis 12 für Januar bis Dezember oder 0 für Datumsangaben, die einen nullmonatigen Teil haben (z. B. 0000-00-00 ).

Beispiel:

SELECT MONTH('2023-07-25');

Ergebnis:

+---------------------+
| MONTH('2023-07-25') |
+---------------------+
|                   7 |
+---------------------+

Der MONTHNAME() Funktion

Wie der Name schon sagt, der MONTHNAME() Funktion gibt den Monatsnamen zurück. Die für den Namen verwendete Sprache wird durch den Wert von lc_time_names gesteuert Systemvariable.

Beispiel:

SELECT MONTHNAME('2023-07-25');

Ergebnis:

+-------------------------+
| MONTHNAME('2023-07-25') |
+-------------------------+
| July                    |
+-------------------------+

Das YEAR() Funktion

Das YEAR() Die Funktion gibt den Jahresteil des Datums zurück.

Beispiel:

SELECT YEAR('2023-07-25');

Ergebnis:

+--------------------+
| YEAR('2023-07-25') |
+--------------------+
|               2023 |
+--------------------+