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

DATE_FORMAT() Beispiele – MySQL

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 x , für jeden „x ” oben nicht aufgeführt