La conversione dei dati di tipo data in stringhe in SQL è spesso necessaria in varie applicazioni di database. Diversi sistemi di gestione di database (DBMS) hanno funzioni e metodi unici, quindi è importante conoscere la tecnica appropriata. Questo articolo illustra i metodi di conversione per MySQL, PostgreSQL, SQL Server, Oracle e SQLite.
Conversione dei dati di tipo data in stringhe in MySQL
In MySQL, è possibile utilizzare la funzione DATE_FORMAT
per convertire i dati di tipo data in una stringa con un formato specifico. Questa funzione supporta vari formati e consente una formattazione flessibile delle date.
Come utilizzare la funzione DATE_FORMAT
La sintassi di base della funzione DATE_FORMAT
è la seguente:
DATE_FORMAT(date, format)
date
: I dati di tipo data che si desidera convertireformat
: La stringa che specifica il formato di conversione
Esempi di utilizzo
Ecco alcuni esempi specifici:
- Conversione in formato Anno-Mese-Giorno
SELECT DATE_FORMAT(NOW(), '%Y-%m-%d') AS formatted_date;
Questa query restituisce la data corrente nel formato “2024-05-23”.
- Conversione in formato Mese/Giorno/Anno
SELECT DATE_FORMAT(NOW(), '%m/%d/%Y') AS formatted_date;
Questa query restituisce la data corrente nel formato “05/23/2024”.
- Conversione in un formato che include il giorno della settimana
SELECT DATE_FORMAT(NOW(), '%W, %M %d, %Y') AS formatted_date;
Questa query restituisce la data corrente nel formato “giovedì, 23 maggio 2024”.
Elenco dei specificatori di formato
I principali specificatori di formato che possono essere utilizzati con la funzione DATE_FORMAT
di MySQL sono i seguenti:
%Y
: Anno a quattro cifre (es. 2024)%y
: Anno a due cifre (es. 24)%M
: Nome completo del mese (es. gennaio)%m
: Mese a due cifre (es. 05)%d
: Giorno a due cifre (es. 23)%H
: Ora a due cifre (formato 24 ore, es. 14)%i
: Minuti a due cifre (es. 59)%s
: Secondi a due cifre (es. 30)%W
: Nome del giorno della settimana (es. giovedì)
Combinando questi specificatori, è possibile convertire una data nel formato richiesto.
Successivamente, vediamo come convertire i dati di tipo data in stringhe in PostgreSQL.
Conversione dei dati di tipo data in stringhe in PostgreSQL
In PostgreSQL, è possibile utilizzare la funzione TO_CHAR
per convertire i dati di tipo data in una stringa con un formato specifico. Questa funzione consente una formattazione flessibile delle date utilizzando specificatori di formato.
Come utilizzare la funzione TO_CHAR
La sintassi di base della funzione TO_CHAR
è la seguente:
TO_CHAR(date, format)
date
: I dati di tipo data che si desidera convertireformat
: La stringa che specifica il formato di conversione
Esempi di utilizzo
Ecco alcuni esempi specifici:
- Conversione in formato Anno-Mese-Giorno
SELECT TO_CHAR(NOW(), 'YYYY-MM-DD') AS formatted_date;
Questa query restituisce la data corrente nel formato “2024-05-23”.
- Conversione in formato Mese/Giorno/Anno
SELECT TO_CHAR(NOW(), 'MM/DD/YYYY') AS formatted_date;
Questa query restituisce la data corrente nel formato “05/23/2024”.
- Conversione in un formato che include il giorno della settimana
SELECT TO_CHAR(NOW(), 'Day, Month DD, YYYY') AS formatted_date;
Questa query restituisce la data corrente nel formato “giovedì, 23 maggio 2024”.
Elenco dei specificatori di formato
I principali specificatori di formato che possono essere utilizzati con la funzione TO_CHAR
di PostgreSQL sono i seguenti:
YYYY
: Anno a quattro cifre (es. 2024)YY
: Anno a due cifre (es. 24)MM
: Mese a due cifre (es. 05)DD
: Giorno a due cifre (es. 23)HH24
: Ora a due cifre (formato 24 ore, es. 14)MI
: Minuti a due cifre (es. 59)SS
: Secondi a due cifre (es. 30)Day
: Nome del giorno della settimana (es. giovedì)Month
: Nome del mese (es. maggio)
Combinando questi specificatori, è possibile convertire una data nel formato richiesto.
Successivamente, vediamo come convertire i dati di tipo data in stringhe in SQL Server.
Conversione dei dati di tipo data in stringhe in SQL Server
In SQL Server, è possibile utilizzare le funzioni CONVERT
e FORMAT
per convertire i dati di tipo data in stringhe. Ogni funzione offre scopi diversi e metodi per specificare i formati.
Come utilizzare la funzione CONVERT
La sintassi di base della funzione CONVERT
è la seguente:
CONVERT(varchar, date, style)
varchar
: Il tipo di dato della stringa convertitadate
: I dati di tipo data che si desidera convertirestyle
: Il valore intero che specifica lo stile di formato
Esempi di utilizzo
- Conversione in formato Anno-Mese-Giorno
SELECT CONVERT(varchar, GETDATE(), 23) AS formatted_date;
Questa query restituisce la data corrente nel formato “2024-05-23”.
- Conversione in formato Mese/Giorno/Anno
SELECT CONVERT(varchar, GETDATE(), 101) AS formatted_date;
Questa query restituisce la data corrente nel formato “05/23/2024”.
Come utilizzare la funzione FORMAT
La sintassi di base della funzione FORMAT
è la seguente:
FORMAT(value, format, culture)
value
: I dati di tipo data che si desidera convertireformat
: La stringa che specifica il formato di conversioneculture
: Informazioni sulla cultura (opzionale)
Esempi di utilizzo
- Conversione in formato Anno-Mese-Giorno
SELECT FORMAT(GETDATE(), 'yyyy-MM-dd') AS formatted_date;
Questa query restituisce la data corrente nel formato “2024-05-23”.
- Conversione in formato Mese/Giorno/Anno
SELECT FORMAT(GETDATE(), 'MM/dd/yyyy') AS formatted_date;
Questa query restituisce la data corrente nel formato “05/23/2024”.
- Conversione in un formato che include il giorno della settimana
SELECT FORMAT(GETDATE(), 'dddd, MMMM dd, yyyy') AS formatted_date;
Questa query restituisce la data corrente nel formato “giovedì, 23 maggio 2024”.
Elenco degli stili di formato (funzione CONVERT)
I principali stili che possono essere utilizzati con la funzione CONVERT
sono i seguenti:
101
: MM/DD/YYYY (es. 05/23/2024)103
: DD/MM/YYYY (es. 23/05/2024)104
: DD.MM.YYYY (es. 23.05.2024)110
: MM-DD-YYYY (es. 05-23-2024)111
: YYYY/MM/DD (es. 2024/05/23)120
: YYYY-MM-DD HH:MI:SS (es. 2024-05-23 14:30:00)
Specificando questi stili, è possibile utilizzare la funzione CONVERT
per convertire le date in stringhe in vari formati.
Successivamente, vediamo come convertire i dati di tipo data in stringhe in Oracle.
Conversione dei dati di tipo data in stringhe in Oracle
In Oracle, è possibile utilizzare la funzione TO_CHAR
per convertire i dati di tipo data in una stringa con un formato specifico. Questa funzione supporta specifiche di formato flessibili, consentendo di convertire i dati di tipo data in vari formati di stringa.
Come utilizzare la funzione TO_CHAR
La sintassi di base della funzione TO_CHAR
è la seguente:
TO_CHAR(date, format)
date
: I dati di tipo data che si desidera convertireformat
: La stringa che specifica il formato di conversione
Esempi di utilizzo
Ecco alcuni esempi specifici:
- Conversione in formato Anno-Mese-Giorno
SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD') AS formatted_date FROM dual;
Questa query restituisce la data corrente nel formato “2024-05-23”.
- Conversione in formato Mese/Giorno/Anno
SELECT TO_CHAR(SYSDATE, 'MM/DD/YYYY') AS formatted_date FROM dual;
Questa query restituisce la data corrente nel formato “05/23/2024”.
- Conversione in un formato che include il giorno della settimana
SELECT TO_CHAR(SYSDATE, 'Day, Month DD, YYYY') AS formatted_date FROM dual;
Questa query restituisce la data corrente nel formato “giovedì, 23 maggio 2024”.
Elenco dei specificatori di formato
I principali specificatori di formato che possono essere utilizzati con la funzione TO_CHAR
di Oracle sono i seguenti:
YYYY
: Anno a quattro cifre (es. 2024)YY
: Anno a due cifre (es. 24)MM
: Mese a due cifre (es. 05)MON
: Abbreviazione del mese (es. MAG)MONTH
: Nome completo del mese (es. MAGGIO)DD
: Giorno a due cifre (es. 23)D
: Giorno della settimana (es. 5)DAY
: Nome completo del giorno della settimana (es. GIOVEDÌ)HH24
: Ora in formato 24 ore (es. 14)MI
: Minuti a due cifre (es. 59)SS
: Secondi a due cifre (es. 30)
Combinando questi specificatori, è possibile convertire una data nel formato richiesto.
Successivamente, vediamo come convertire i dati di tipo data in stringhe in SQLite.
Conversione dei dati di tipo data in stringhe in SQLite
In SQLite, è possibile utilizzare la funzione strftime
per convertire i dati di tipo data in una stringa con un formato specifico. Questa funzione supporta specifiche di formato flessibili, consentendo di convertire i dati di tipo data in vari formati di stringa.
Come utilizzare la funzione strftime
La sintassi di base della funzione strftime
è la seguente:
strftime(format, date)
format
: La stringa che specifica il formato di conversionedate
: I dati di tipo data che si desidera convertire
Esempi di utilizzo
Ecco alcuni esempi specifici:
- Conversione in formato Anno-Mese-Giorno
SELECT strftime('%Y-%m-%d', 'now') AS formatted_date;
Questa query restituisce la data corrente nel formato “2024-05-23”.
- Conversione in formato Mese/Giorno/Anno
SELECT strftime('%m/%d/%Y', 'now') AS formatted_date;
Questa query restituisce la data corrente nel formato “05/23/2024”.
- Conversione in un formato che include il giorno della settimana
SELECT strftime('%w, %B %d, %Y', 'now') AS formatted_date;
Questa query restituisce la data corrente nel formato “4, 23 maggio 2024”.
Elenco dei specificatori di formato
I principali specificatori di formato che possono essere utilizzati con la funzione strftime
di SQLite sono i seguenti:
%Y
: Anno a quattro cifre (es. 2024)%y
: Anno a due cifre (es. 24)%m
: Mese a due cifre (es. 05)%d
: Giorno a due cifre (es. 23)%H
: Ora a due cifre (formato 24 ore, es. 14)%M
: Minuti a due cifre (es. 59)%S
: Secondi a due cifre (es. 30)%w
: Numero del giorno della settimana (0: domenica, 6: sabato)%W
: Nome completo del giorno della settimana (es. giovedì)%B
: Nome completo del mese (es. maggio)
Combinando questi specificatori, è possibile convertire una data nel formato richiesto.
Infine, riassumiamo i metodi per convertire i dati di tipo data in stringhe in ciascun DBMS e forniamo punti chiave sulla selezione e l’uso delle funzioni appropriate.
Riepilogo
Abbiamo discusso i metodi per convertire i dati di tipo data in stringhe in vari sistemi di gestione di database (DBMS). Ecco un riepilogo delle funzioni utilizzate in ciascun DBMS e dei punti chiave:
- MySQL: Utilizzare la funzione
DATE_FORMAT
e gli specificatori di formato per convertire le date in stringhe. Esempi includono'%Y-%m-%d'
e'%M %d, %Y'
. - PostgreSQL: Utilizzare la funzione
TO_CHAR
e combinare specificatori di formato per convertire le date in stringhe. Esempi includono'YYYY-MM-DD'
e'MM/DD/YYYY'
. - SQL Server: Utilizzare le funzioni
CONVERT
oFORMAT
, specificando codici di stile o stringhe di formato per convertire le date in stringhe. Esempi includono101
e'yyyy-MM-dd'
. - Oracle: Utilizzare la funzione
TO_CHAR
e ricchi specificatori di formato per convertire le date in stringhe. Esempi includono'YYYY-MM-DD'
e'Day, Month DD, YYYY'
. - SQLite: Utilizzare la funzione
strftime
e specificatori di formato per convertire le date in stringhe. Esempi includono'%Y-%m-%d'
e'%m/%d/%Y'
.
Comprendendo le funzioni e i specificatori di formato unici di ciascun DBMS e utilizzandoli in modo appropriato, è possibile convertire i dati di tipo data in stringhe nel formato richiesto. Questa conoscenza è utile in varie situazioni, come la creazione di report, l’analisi dei dati e l’integrazione dei dati tra sistemi.