sql >> Database teknologi >  >> RDS >> Mysql

GET_FORMAT() Eksempler – MySQL

I MySQL kan du bruge GET_FORMAT() funktion til at returnere en formatstreng for de angivne argumenter. Dette kan være nyttigt, når du skal angive en formatstreng til en anden funktion, såsom DATE_FORMAT() eller STR_TO_DATE() .

Syntaks

Den officielle syntaks lyder sådan her:

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

Eksempel 1 – Grundlæggende brug

Her er et eksempel for at vise, hvordan det virker.

SELECT GET_FORMAT(DATE,'USA');

Resultat:

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

Så dette eksempel returnerer formatstrengen for USA. Vi kan nu tage denne formatstreng og bruge den i forskellige datoformateringsfunktioner.

Sådan:

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

Resultat:

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

Vi kan dog også videregive denne funktion direkte til DATE_FORMAT() fungere. Sådan:

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

Resultat:

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

Så dette sparer os for at skulle huske, hvilken formatstreng vi skal bruge – GET_FORMAT() gør det for os.

Eksempel 2 – Datoværdier

Dette eksempel viser alle variationerne af det andet argument, når det første argument er DATE .

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';

Resultat:

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

Eksempel 3 – Dato-tidsværdier

Dette eksempel viser alle variationerne af det andet argument, når det første argument er DATETIME .

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';

Resultat:

+-------------------+-------------------+-------------------+-------------------+--------------+
| 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 |
+-------------------+-------------------+-------------------+-------------------+--------------+

Eksempel 4 – Tidsværdier

Dette eksempel viser alle variationerne af det andet argument, når det første argument er TIME .

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';

Resultat:

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

Enhedsspecifikationer

Den returnerede formatstreng kan bestå af en hvilken som helst kombination af følgende specifikationer.

Specifier Beskrivelse
%a Forkortet ugedagsnavn (Sun ..Sat )
%b Forkortet månedsnavn (Jan ..Dec )
%c Måned, numerisk (0 ..12 )
%D Dag i måneden med engelsk suffiks (0th , 1st , 2nd , 3rd , …)
%d Dag i måneden, numerisk (00 ..31 )
%e Dag i måneden, numerisk (0 ..31 )
%f Mikrosekunder (000000 ..999999 )
%H Time (00 ..23 )
%h Time (01 ..12 )
%I Time (01 ..12 )
%i Minutter, numerisk (00 ..59 )
%j Dag i året (001 ..366 )
%k Time (0 ..23 )
%l Time (1 ..12 )
%M Månedens navn (January ..December )
%m Måned, numerisk (00 ..12 )
%p AM eller PM
%r Tid, 12 timer (hh:mm:ss efterfulgt af AM eller PM )
%S Sekunder (00 ..59 )
%s Sekunder (00 ..59 )
%T Tid, 24 timer (hh:mm:ss )
%U Uge (00 ..53 ), hvor søndag er den første dag i ugen; WEEK() tilstand 0
%u Uge (00 ..53 ), hvor mandag er den første dag i ugen; WEEK() tilstand 1
%V Uge (01 ..53 ), hvor søndag er den første dag i ugen; WEEK() tilstand 2; brugt med %X
%v Uge (01 ..53 ), hvor mandag er den første dag i ugen; WEEK() tilstand 3; brugt med %x
%W Ugedagsnavn (Sunday ..Saturday )
%w Ugedag (0 =søndag..6 =lørdag)
%X År for ugen, hvor søndag er den første dag i ugen, numerisk, fire cifre; bruges med %V
%x År for ugen, hvor mandag er den første dag i ugen, numerisk, fire cifre; brugt med %v
%Y Årtal, numerisk, fire cifre
%y År, numerisk (to cifre)
%% En bogstavelig % tegn
%x x , for enhver "x ” ikke angivet ovenfor


  1. Fejl ved Update Join

  2. Kopier en tabel (inklusive indekser) i postgres

  3. Hvordan kan jeg simulere en array-variabel i MySQL?

  4. Sådan konverteres små bogstaver til store bogstaver i SQL Server - STORE ()