Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Alterar o idioma padrão de um logon no SQL Server


No SQL Server, você pode usar o ALTER LOGIN instrução para alterar o idioma padrão para um login específico.

Fazer isso garantirá que sempre que esse logon se conectar ao SQL Server, todos os formatos de data/hora e mensagens do sistema sejam apresentados no formato e idioma corretos.

Exemplo


Aqui está um exemplo para demonstrar.
ALTER LOGIN Bart
  WITH DEFAULT_LANGUAGE = German;

Isso altera o idioma do Bart entrar em alemão.

Na verdade, o alemão é apenas o alias. O nome real da língua é Deutsch. Portanto, você pode usar o nome ou o alias com esta instrução.

Agora, quando Bart faz login e executa a instrução a seguir, ele obtém o Deutsch como seu idioma.
SELECT @@LANGUAGE;

Resultado:
Deutsch

Formatos de data


Alterar o idioma padrão do login também altera a forma como os valores de data/hora são formatados.

Por exemplo, veja o que acontece quando Bart executa a consulta a seguir.
SELECT FORMAT(GETDATE(), 'd');

Resultado:
30.03.2020

Esta função produz a data em um formato consistente com o idioma Alemão/Deutsch.

No entanto, Bart tem a capacidade de substituir essas configurações.

Substituir o idioma padrão


Observe que Bart ainda pode substituir seu idioma padrão de dentro de sua sessão usando SET LANGUAGE .
SET LANGUAGE Spanish;

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

Ele também pode definir explicitamente um idioma para algumas consultas, como ao usar o FORMAT() função ou a função PARSE() função para formatar valores de data/hora. Essas funções aceitam um argumento opcional de “cultura” que permite especificar o idioma que deve ser usado para formatar a saída.

Aqui está a mesma consulta do exemplo anterior, mas desta vez, Bart adiciona um terceiro argumento, que especifica um idioma diferente a ser usado para a saída.
SELECT 
  FORMAT(GETDATE(), 'd') AS [Default],
  FORMAT(GETDATE(), 'd', 'en-US') AS [en-US];

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