sql >> Database >  >> RDS >> Sqlserver

De standaardtaal van een login wijzigen in SQL Server

In SQL Server kunt u de ALTER LOGIN . gebruiken statement om de standaardtaal voor een specifieke login te wijzigen.

Als u dit doet, zorgt u ervoor dat wanneer die login verbinding maakt met SQL Server, alle datum/tijd-indelingen en systeemberichten in de juiste indeling en taal worden weergegeven.

Voorbeeld

Hier is een voorbeeld om te demonstreren.

ALTER LOGIN Bart
  WITH DEFAULT_LANGUAGE = German;

Dit verandert de taal voor de Bart inloggen in het Duits.

Eigenlijk is Duits slechts de alias. De eigenlijke naam van de taal is Deutsch. U kunt dus de naam of de alias gebruiken bij deze verklaring.

Als Bart nu inlogt en de volgende instructie uitvoert, krijgt hij Deutsch als zijn taal.

SELECT @@LANGUAGE;

Resultaat:

Deutsch

Datumnotaties

Het wijzigen van de standaardtaal van de login verandert ook de manier waarop datum-/tijdwaarden worden opgemaakt.

Dit is bijvoorbeeld wat er gebeurt als Bart de volgende query uitvoert.

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

Resultaat:

30.03.2020

Deze functie geeft de datum weer in een formaat dat overeenkomt met de Duitse/Duitse taal.

Bart heeft echter wel de mogelijkheid om deze instellingen te negeren.

Overschrijf de standaardtaal

Merk op dat Bart nog steeds zijn standaardtaal kan overschrijven vanuit zijn sessie met behulp van SET LANGUAGE .

SET LANGUAGE Spanish;

Resultaat:

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

Hij kan ook expliciet een taal instellen voor sommige zoekopdrachten, zoals bij het gebruik van de FORMAT() functie of de PARSE() functie om datum-/tijdwaarden op te maken. Deze functies accepteren een optioneel 'cultuur'-argument waarmee u de taal kunt specificeren die moet worden gebruikt om de uitvoer op te maken.

Hier is dezelfde query uit het vorige voorbeeld, maar deze keer voegt Bart een derde argument toe, dat een andere taal specificeert die voor de uitvoer moet worden gebruikt.

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

Resultaat:

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

  1. Een .SQL-scriptbestand uitvoeren met c#

  2. Op afstand verbinding maken met MySQL

  3. MariaDB RTRIM() vs RTRIM_ORACLE():wat is het verschil?

  4. Oracle:hoe krijg je een percentage van het totaal door een zoekopdracht?