In SQL Server è possibile utilizzare T-SQL FORMAT()
funzione per visualizzare una data nel formato desiderato. Questa funzione accetta un argomento "cultura" facoltativo, che puoi utilizzare per specificare il formato della data statunitense.
Potrebbe essere necessario o meno utilizzare questo argomento, a seconda della lingua della sessione locale. Tuttavia, ecco come specificare in modo esplicito il formato della data statunitense.
Esempio 1 – Formato data breve per gli Stati Uniti
Per specificare esplicitamente che una data deve essere visualizzata nel formato inglese americano, usa en-US
come argomento della cultura:
DECLARE @thedate date = '2020-12-01' SELECT FORMAT(@thedate, 'd', 'en-US') Result;
Risultato:
+-----------+ | Result | |-----------| | 12/1/2020 | +-----------+
In questo caso, ho usato un d
minuscolo come secondo argomento. Ciò si traduce in un formato di data relativamente breve, con il giorno e il mese visualizzati come numeri.
E poiché utilizziamo un formato data statunitense, il mese precede il giorno.
Esempio 2 – Formato data americano lungo
Se lo cambio in una D
maiuscola , ottengo un formato più lungo, con il giorno e il mese esplicitati:
DECLARE @thedate date = '2020-12-01' SELECT FORMAT(@thedate, 'D', 'en-US') Result;
Risultato:
+---------------------------+ | Result | |---------------------------| | Tuesday, December 1, 2020 | +---------------------------+
Esempio 3 – Formato data USA personalizzato
Se ritieni che i formati di data sopra indicati siano troppo restrittivi, puoi sempre specificare un formato di data personalizzato. Ad esempio, se ti piace l'esempio precedente, tranne per il fatto che preferisci avere solo le prime 3 lettere del giorno e del mese, puoi farlo:
DECLARE @thedate date = '2020-12-01' SELECT FORMAT(@thedate, 'ddd, MMM d, yyyy', 'en-US') Result;
Risultato:
+------------------+ | Result | |------------------| | Tue, Dec 1, 2020 | +------------------+
Continuo a specificare una cultura anche se sto specificando esattamente dove va ogni componente della data. Il motivo per cui lo sto facendo è indicare esplicitamente quale lingua usare. L'omissione di questo argomento può causare o meno problemi, a seconda delle lingue utilizzate.
La cosa buona dei formati di data personalizzati è che ti dà molta flessibilità. Puoi cambiare i componenti e appariranno esattamente dove li desideri.
Verifica della sessione corrente
Quando si utilizza FORMAT()
funzione, se l'argomento culture non viene fornito, viene utilizzata la lingua della sessione corrente. Questa lingua viene impostata in modo implicito o esplicito utilizzando SET LANGUAGE
dichiarazione.
Per ulteriori informazioni, ecco 3 modi per ottenere la lingua della sessione corrente in SQL Server (T-SQL).
Vedere anche Come impostare la lingua corrente in SQL Server (T-SQL).