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

GET_FORMAT() Esempi – MySQL

In MySQL, puoi usare GET_FORMAT() funzione per restituire una stringa di formato per gli argomenti forniti. Questo può essere utile quando devi fornire una stringa di formato a un'altra funzione, come DATE_FORMAT() o STR_TO_DATE() .

Sintassi

La sintassi ufficiale è questa:

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

Esempio 1 – Utilizzo di base

Ecco un esempio per dimostrare come funziona.

SELECT GET_FORMAT(DATE,'USA');

Risultato:

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

Quindi questo esempio restituisce la stringa di formato per USA. Ora possiamo prendere quella stringa di formato e usarla in varie funzioni di formattazione della data.

In questo modo:

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

Risultato:

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

Tuttavia, possiamo anche passare questa funzione direttamente a DATE_FORMAT() funzione. In questo modo:

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

Risultato:

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

Quindi questo ci evita di dover ricordare quale stringa di formato usare – GET_FORMAT() lo fa per noi.

Esempio 2 – Valori di data

Questo esempio elenca tutte le variazioni del secondo argomento quando il primo argomento è 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';

Risultato:

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

Esempio 3 – Valori di data e ora

Questo esempio elenca tutte le variazioni del secondo argomento quando il primo argomento è 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';

Risultato:

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

Esempio 4 – Valori temporali

Questo esempio elenca tutte le variazioni del secondo argomento quando il primo argomento è 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';

Risultato:

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

Specificatori di unità

La stringa di formato restituita può essere composta da qualsiasi combinazione dei seguenti indicatori.

Specificatore Descrizione
%a Nome abbreviato del giorno della settimana (Sun ..Sat )
%b Nome abbreviato del mese (Jan ..Dec )
%c Mese, numerico (0 ..12 )
%D Giorno del mese con suffisso inglese (0th , 1st , 2nd , 3rd , …)
%d Giorno del mese, numerico (00 ..31 )
%e Giorno del mese, numerico (0 ..31 )
%f Microsecondi (000000 ..999999 )
%H Ora (00 ..23 )
%h Ora (01 ..12 )
%I Ora (01 ..12 )
%i Minuti, numerici (00 ..59 )
%j Giorno dell'anno (001 ..366 )
%k Ora (0 ..23 )
%l Ora (1 ..12 )
%M Nome del mese (January ..December )
%m Mese, numerico (00 ..12 )
%p AM o PM
%r Ora, 12 ore (hh:mm:ss seguito da AM o PM )
%S Secondi (00 ..59 )
%s Secondi (00 ..59 )
%T Ora, 24 ore (hh:mm:ss )
%U Settimana (00 ..53 ), dove domenica è il primo giorno della settimana; WEEK() modalità 0
%u Settimana (00 ..53 ), dove lunedì è il primo giorno della settimana; WEEK() modalità 1
%V Settimana (01 ..53 ), dove domenica è il primo giorno della settimana; WEEK() modalità 2; utilizzato con %X
%v Settimana (01 ..53 ), dove lunedì è il primo giorno della settimana; WEEK() modalità 3; utilizzato con %x
%W Nome del giorno della settimana (Sunday ..Saturday )
%w Giorno della settimana (0 =Domenica..6 =sabato)
%X Anno per la settimana in cui domenica è il primo giorno della settimana, numerico, a quattro cifre; utilizzato con %V
%x Anno della settimana, dove lunedì è il primo giorno della settimana, numerico, a quattro cifre; usato con %v
%Y Anno, numerico, quattro cifre
%y Anno, numerico (due cifre)
%% Un letterale % carattere
%x x , per qualsiasi “x ” non elencato sopra