Dieser Artikel enthält Beispiele für DATE_FORMAT()
Funktion in MySQL.
Das DATE_FORMAT()
Mit der Funktion können Sie ein Datum in einem bestimmten Format zurückgeben. Sie können es beispielsweise verwenden, um 2020-06-18 zurückzugeben als Donnerstag, Juni 2020 , oder ein beliebiges anderes Format, das Sie benötigen.
Syntax
Die Syntax lautet wie folgt:
DATE_FORMAT(date,format)
Wobei date
das Datum ist, das Sie formatieren möchten, und format
gibt an, wie es formatiert werden soll.
Eine Liste gültiger Formatbezeichner finden Sie in der Tabelle am Ende dieses Artikels. Der Formatwert muss mit einem Prozentzeichen beginnen (%
).
Beispiel
Hier ist ein Beispiel zur Veranschaulichung.
SELECT DATE_FORMAT('2020-06-18', '%W, %M %Y') AS 'Result';
Ergebnis:
+---------------------+ | Result | +---------------------+ | Thursday, June 2020 | +---------------------+
Kurze/abgekürzte Tages- und Monatsnamen
Hier ist ein Beispiel, das das Ergebnis in kurze Tages- und Monatsnamen formatiert.
SELECT DATE_FORMAT('2020-06-18', '%a, %b %Y') AS 'Result';
Ergebnis:
+---------------+ | Result | +---------------+ | Thu, Jun 2020 | +---------------+
Ein Datenbankbeispiel
Hier ist ein Beispiel, in dem wir den Wert formatieren, der von einer Datenbankspalte zurückgegeben wird, die als datetime-Wert gespeichert ist.
USE sakila; SELECT payment_date AS 'Date/Time', DATE_FORMAT(payment_date, '%W, %M %Y') AS 'Date' FROM payment WHERE payment_id = 1;
Ergebnis:
+---------------------+---------------------+ | Date/Time | Date | +---------------------+---------------------+ | 2005-05-25 11:30:37 | Wednesday, May 2005 | +---------------------+---------------------+
Zeit formatieren
Sie können auch DATE_FORMAT()
verwenden um die Zeitkomponente einer datetime zu formatieren Wert. Beispiel:
USE sakila; SELECT payment_date AS 'Date/Time', DATE_FORMAT(payment_date, '%h:%i:%s') AS 'Time' FROM payment WHERE payment_id = 1;
Ergebnis:
+---------------------+----------+ | Date/Time | Time | +---------------------+----------+ | 2005-05-25 11:30:37 | 11:30:37 | +---------------------+----------+
Hier ist ein weiteres Beispiel, in dem ich AM/PM hinzufüge Bezeichner:
USE sakila; SELECT payment_date AS 'Date/Time', DATE_FORMAT(payment_date, '%h:%i %p') AS 'Time' FROM payment WHERE payment_id = 1;
Ergebnis:
+---------------------+----------+ | Date/Time | Time | +---------------------+----------+ | 2005-05-25 11:30:37 | 11:30 AM | +---------------------+----------+
Verfügbare Spezifizierer
Die folgenden Bezeichner können verwendet werden, um das Rückgabeformat anzugeben. Der Formatwert muss mit einem Prozentzeichen beginnen (%
).
Bezeichner | Beschreibung |
---|---|
%a | Abgekürzter Name des Wochentags (Sun ..Sat ) |
%b | Abgekürzter Monatsname (Jan ..Dec ) |
%c | Monat, numerisch (0 ..12 ) |
%D | Tag des Monats mit englischem Suffix (0th , 1st , 2nd , 3rd , …) |
%d | Tag des Monats, numerisch (00 ..31 ) |
%e | Tag des Monats, numerisch (0 ..31 ) |
%f | Mikrosekunden (000000 ..999999 ) |
%H | Stunde (00 ..23 ) |
%h | Stunde (01 ..12 ) |
%I | Stunde (01 ..12 ) |
%i | Minuten, numerisch (00 ..59 ) |
%j | Tag des Jahres (001 ..366 ) |
%k | Stunde (0 ..23 ) |
%l | Stunde (1 ..12 ) |
%M | Monatsname (January ..Dec ) |
%m | Monat, numerisch (00 ..12 ) |
%p | AM oder PM |
%r | Zeit, 12 Stunden (hh:mm:ss gefolgt von AM oder PM ) |
%S | Sekunden (00 ..59 ) |
%s | Sekunden (00 ..59 ) |
%T | Uhrzeit, 24 Stunden (hh:mm:ss ) |
%U | Woche (00 ..53 ), wobei Sonntag der erste Tag der Woche ist; WEEK() Modus 0 |
%u | Woche (00 ..53 ), wobei Montag der erste Tag der Woche ist; WEEK() Modus 1 |
%V | Woche (01 ..53 ), wobei Sonntag der erste Tag der Woche ist; WEEK() Modus 2; verwendet mit %X |
%v | Woche (01 ..53 ), wobei Montag der erste Tag der Woche ist; WEEK() Modus 3; verwendet mit %x |
%W | Name des Wochentags (Sunday ..Saturday ) |
%w | Wochentag (0 =Sonntag..6 =Samstag) |
%X | Jahr für die Woche, in der Sonntag der erste Wochentag ist, numerisch, vierstellig; verwendet mit %V |
%x | Jahr für die Woche, wobei Montag der erste Tag der Woche ist, numerisch, vierstellig; verwendet mit %v |
%Y | Jahr, numerisch, vierstellig |
%y | Jahr, numerisch (zweistellig) |
%% | Ein Literal % Charakter |
% | x , für jeden „x ” oben nicht aufgeführt |