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

Modificare la lingua predefinita di un accesso in SQL Server

In SQL Server puoi utilizzare ALTER LOGIN istruzione per modificare la lingua predefinita per un accesso specifico.

In questo modo, ogni volta che l'account di accesso si connette a SQL Server, tutti i formati di data/ora e i messaggi di sistema vengono presentati nel formato e nella lingua corretti.

Esempio

Ecco un esempio da dimostrare.

ALTER LOGIN Bart
  WITH DEFAULT_LANGUAGE = German;

Questo cambia la lingua per il Bart accedi al tedesco.

In realtà, il tedesco è solo l'alias. Il vero nome della lingua è Deutsch. Quindi puoi usare il nome o l'alias con questa affermazione.

Ora, quando Bart esegue l'accesso ed esegue la seguente istruzione, ottiene il tedesco come lingua.

SELECT @@LANGUAGE;

Risultato:

Deutsch

Formati data

La modifica della lingua predefinita di accesso cambia anche il modo in cui vengono formattati i valori di data/ora.

Ad esempio, ecco cosa succede quando Bart esegue la query seguente.

SELECT FORMAT(GETDATE(), 'd');

Risultato:

30.03.2020

Questa funzione emette la data in un formato compatibile con la lingua tedesca/tedesca.

Tuttavia, Bart ha la possibilità di ignorare queste impostazioni.

Sostituisci la lingua predefinita

Nota che Bart può ancora ignorare la sua lingua predefinita dall'interno della sua sessione utilizzando SET LANGUAGE .

SET LANGUAGE Spanish;

Risultato:

Se cambió la configuración de idioma a Español. 

Può anche impostare esplicitamente una lingua per alcune query, come quando si usa FORMAT() o la funzione PARSE() funzione per formattare i valori di data/ora. Queste funzioni accettano un argomento "cultura" opzionale che consente di specificare la lingua da utilizzare per formattare l'output.

Ecco la stessa query dell'esempio precedente, ma questa volta Bart aggiunge un terzo argomento, che specifica una lingua diversa da utilizzare per l'output.

SELECT 
  FORMAT(GETDATE(), 'd') AS [Default],
  FORMAT(GETDATE(), 'd', 'en-US') AS [en-US];

Risultato:

+------------+-----------+
 | Default    | en-US     |
 |------------+-----------|
 | 30.03.2020 | 3/30/2020 |
 +------------+-----------+