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

GET_FORMAT() Beispiele – MySQL

In MySQL können Sie das GET_FORMAT() verwenden -Funktion, um eine Formatzeichenfolge für die bereitgestellten Argumente zurückzugeben. Dies kann nützlich sein, wenn Sie eine Formatzeichenfolge für eine andere Funktion bereitstellen müssen, z. B. DATE_FORMAT() oder STR_TO_DATE() .

Syntax

Die offizielle Syntax lautet wie folgt:

GET_FORMAT({DATE|TIME|DATETIME}, {'EUR'|'USA'|'JIS'|'ISO'|'INTERNAL'})

Beispiel 1 – Grundlegende Verwendung

Hier ist ein Beispiel, um zu demonstrieren, wie es funktioniert.

SELECT GET_FORMAT(DATE,'USA');

Ergebnis:

+------------------------+
| GET_FORMAT(DATE,'USA') |
+------------------------+
| %m.%d.%Y               |
+------------------------+

Dieses Beispiel gibt also die Formatzeichenfolge für USA zurück. Wir können diese Formatzeichenfolge nun nehmen und sie in verschiedenen Datumsformatierungsfunktionen verwenden.

So:

SELECT DATE_FORMAT('2020-03-07', '%m.%d.%Y') AS 'Formatted';

Ergebnis:

+------------+
| Formatted  |
+------------+
| 03.07.2020 |
+------------+

Wir können diese Funktion aber auch direkt an DATE_FORMAT() übergeben Funktion. So:

SELECT DATE_FORMAT('2020-03-07', GET_FORMAT(DATE,'USA')) AS 'Formatted';

Ergebnis:

+------------+
| Formatted  |
+------------+
| 03.07.2020 |
+------------+

Das erspart uns also, uns merken zu müssen, welche Formatzeichenfolge verwendet werden soll – GET_FORMAT() erledigt das für uns.

Beispiel 2 – Datumswerte

Dieses Beispiel listet alle Variationen des zweiten Arguments auf, wenn das erste Argument DATE ist .

SELECT 
    GET_FORMAT(DATE,'USA') AS 'USA',
    GET_FORMAT(DATE,'JIS') AS 'JIS',
    GET_FORMAT(DATE,'ISO') AS 'ISO',
    GET_FORMAT(DATE,'EUR') AS 'EUR',
    GET_FORMAT(DATE,'INTERNAL') AS 'INTERNAL';

Ergebnis:

+----------+----------+----------+----------+----------+
| USA      | JIS      | ISO      | EUR      | INTERNAL |
+----------+----------+----------+----------+----------+
| %m.%d.%Y | %Y-%m-%d | %Y-%m-%d | %d.%m.%Y | %Y%m%d   |
+----------+----------+----------+----------+----------+

Beispiel 3 – Datetime-Werte

Dieses Beispiel listet alle Variationen des zweiten Arguments auf, wenn das erste Argument DATETIME ist .

SELECT 
    GET_FORMAT(DATETIME,'USA') AS 'USA',
    GET_FORMAT(DATETIME,'JIS') AS 'JIS',
    GET_FORMAT(DATETIME,'ISO') AS 'ISO',
    GET_FORMAT(DATETIME,'EUR') AS 'EUR',
    GET_FORMAT(DATETIME,'INTERNAL') AS 'INTERNAL';

Ergebnis:

+-------------------+-------------------+-------------------+-------------------+--------------+
| USA               | JIS               | ISO               | EUR               | INTERNAL     |
+-------------------+-------------------+-------------------+-------------------+--------------+
| %Y-%m-%d %H.%i.%s | %Y-%m-%d %H:%i:%s | %Y-%m-%d %H:%i:%s | %Y-%m-%d %H.%i.%s | %Y%m%d%H%i%s |
+-------------------+-------------------+-------------------+-------------------+--------------+

Beispiel 4 – Zeitwerte

Dieses Beispiel listet alle Variationen des zweiten Arguments auf, wenn das erste Argument TIME ist .

SELECT 
    GET_FORMAT(TIME,'USA') AS 'USA',
    GET_FORMAT(TIME,'JIS') AS 'JIS',
    GET_FORMAT(TIME,'ISO') AS 'ISO',
    GET_FORMAT(TIME,'EUR') AS 'EUR',
    GET_FORMAT(TIME,'INTERNAL') AS 'INTERNAL';

Ergebnis:

+-------------+----------+----------+----------+----------+
| USA         | JIS      | ISO      | EUR      | INTERNAL |
+-------------+----------+----------+----------+----------+
| %h:%i:%s %p | %H:%i:%s | %H:%i:%s | %H.%i.%s | %H%i%s   |
+-------------+----------+----------+----------+----------+

Einheitenspezifizierer

Der zurückgegebene Formatstring kann aus einer beliebigen Kombination der folgenden Spezifizierer bestehen.

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