Questo articolo contiene esempi di DATE_FORMAT()
funzione in MySQL.
Il DATE_FORMAT()
La funzione consente di restituire una data in un formato specificato. Ad esempio, puoi utilizzarlo per restituire 2020-06-18 come giovedì giugno 2020 , o qualsiasi altro formato richiesto.
Sintassi
La sintassi è questa:
DATE_FORMAT(date,format)
Dove date
è la data che vuoi formattare e format
specifica come deve essere formattato.
Per un elenco di identificatori di formato validi, vedere la tabella in fondo a questo articolo. Il valore del formato deve iniziare con un segno di percentuale (%
).
Esempio
Ecco un esempio da dimostrare.
SELECT DATE_FORMAT('2020-06-18', '%W, %M %Y') AS 'Result';
Risultato:
+---------------------+ | Result | +---------------------+ | Thursday, June 2020 | +---------------------+
Nomi di giorni e mesi brevi/abbreviati
Ecco un esempio che formatta il risultato in nomi brevi di giorni e mesi.
SELECT DATE_FORMAT('2020-06-18', '%a, %b %Y') AS 'Result';
Risultato:
+---------------+ | Result | +---------------+ | Thu, Jun 2020 | +---------------+
Un esempio di database
Ecco un esempio in cui formattiamo il valore restituito da una colonna del database archiviata come valore datetime.
USE sakila; SELECT payment_date AS 'Date/Time', DATE_FORMAT(payment_date, '%W, %M %Y') AS 'Date' FROM payment WHERE payment_id = 1;
Risultato:
+---------------------+---------------------+ | Date/Time | Date | +---------------------+---------------------+ | 2005-05-25 11:30:37 | Wednesday, May 2005 | +---------------------+---------------------+
Formattare l'ora
Puoi anche usare DATE_FORMAT()
per formattare il componente ora di un datetime valore. Esempio:
USE sakila; SELECT payment_date AS 'Date/Time', DATE_FORMAT(payment_date, '%h:%i:%s') AS 'Time' FROM payment WHERE payment_id = 1;
Risultato:
+---------------------+----------+ | Date/Time | Time | +---------------------+----------+ | 2005-05-25 11:30:37 | 11:30:37 | +---------------------+----------+
Ecco un altro esempio in cui aggiungo AM/PM designatore:
USE sakila; SELECT payment_date AS 'Date/Time', DATE_FORMAT(payment_date, '%h:%i %p') AS 'Time' FROM payment WHERE payment_id = 1;
Risultato:
+---------------------+----------+ | Date/Time | Time | +---------------------+----------+ | 2005-05-25 11:30:37 | 11:30 AM | +---------------------+----------+
Specificatori disponibili
I seguenti specificatori possono essere utilizzati per specificare il formato di ritorno. Il valore del formato deve iniziare con un segno di percentuale (%
).
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 , per qualsiasi “x ” non elencato sopra |