Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Come visualizzare una data in formato tedesco in SQL Server (T-SQL)

Quando si formatta una data utilizzando FORMAT() funzione in SQL Server, la data verrà formattata in base alla lingua della sessione locale. Tuttavia, puoi ignorarlo specificando le impostazioni cultura da usare o usando un formato di data personalizzato.

Questo articolo mostra come specificare in modo esplicito un formato di data tedesco utilizzando l'argomento facoltativo "culture" di FORMAT() funzione. Dimostra anche come utilizzare il tuo formato di data personalizzato se è più desiderabile.

Esempio 1:formato di data tedesco breve

Per specificare esplicitamente che una data deve essere visualizzata in formato tedesco, utilizzare de-de come terzo argomento. Questo terzo argomento (facoltativo) specifica quali impostazioni cultura utilizzare.

DECLARE @thedate date ='2020-12-01'SELECT FORMAT(@thedate, 'd', 'de-de') Risultato;

Risultato:

+------------+| Risultato ||------------|| 01.12.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 il formato tedesco, il giorno precede il mese e ogni componente della data è separato da punti.

Esempio 2 – Formato data in tedesco lungo

Puoi cambiare il secondo argomento in una D maiuscola per ottenere un formato di data più lungo, con il mese esplicitato:

DICLARE @thedate date ='2020-12-01'SELECT FORMAT(@thedate, 'D', 'de-de') Risultato;

Risultato:

+----------------------------+| Risultato ||--------------||| Dienstag, 1. dicembre 2020 |+-----------------------------+

Esempio 3 – Formato data tedesco personalizzato

Se necessario, puoi anche utilizzare un formato di data personalizzato. Ciò ti consente di dichiarare in modo esplicito esattamente come e dove va ogni componente della data.

Esempio:

DECLARE @thedate date ='2020-12-01'SELECT FORMAT(@thedate, 'ggd, d. MMM, aaaa', 'de-de') Risultato;

Risultato:

+--------------------------------+| Risultato ||------------------|| Di, 1. Dic, 2020 |+------------------+

In questo caso, utilizzo ancora l'argomento culture per specificare esplicitamente quale lingua utilizzare.

Il mio sistema attualmente utilizza l'inglese americano, quindi se ometto l'argomento culture da questo esempio, ottengo quanto segue:

DECLARE @thedate date ='2020-12-01'SELECT FORMAT(@thedate, 'ggd, d. MMM, aaaa') Risultato;

Risultato:

+-------------------+| Risultato ||--------------------|| Mar, 1. Dic, 2020 |+-------------------+

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 il 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).