En SQL Server, puede usar ALTER LOGIN
declaración para cambiar el idioma predeterminado para un inicio de sesión específico.
Al hacerlo, se asegurará de que cada vez que ese inicio de sesión se conecte a SQL Server, todos los formatos de fecha/hora y los mensajes del sistema se presenten en el formato y el idioma correctos.
Ejemplo
Aquí hay un ejemplo para demostrarlo.
ALTER LOGIN Bart
WITH DEFAULT_LANGUAGE = German;
Esto cambia el idioma de Bart
iniciar sesión en alemán.
En realidad, el alemán es solo el alias. El nombre real del idioma es Deutsch. Entonces puede usar el nombre o el alias con esta declaración.
Ahora, cuando Bart inicia sesión y ejecuta la siguiente declaración, obtiene Deutsch como su idioma.
SELECT @@LANGUAGE;
Resultado:
Deutsch
Formatos de fecha
Cambiar el idioma predeterminado del inicio de sesión también cambia la forma en que se formatean los valores de fecha/hora.
Por ejemplo, esto es lo que sucede cuando Bart ejecuta la siguiente consulta.
SELECT FORMAT(GETDATE(), 'd');
Resultado:
30.03.2020
Esta función genera la fecha en un formato compatible con el idioma alemán/alemán.
Sin embargo, Bart tiene la capacidad de anular esta configuración.
Anular el idioma predeterminado
Tenga en cuenta que Bart aún puede anular su idioma predeterminado desde su sesión usando SET LANGUAGE
.
SET LANGUAGE Spanish;
Resultado:
Se cambió la configuración de idioma a Español.
También puede establecer explícitamente un idioma para algunas consultas, como cuando usa FORMAT()
o la función PARSE()
función para dar formato a los valores de fecha/hora. Estas funciones aceptan un argumento de "cultura" opcional que le permite especificar el idioma que debe usarse para formatear la salida.
Esta es la misma consulta del ejemplo anterior, pero esta vez, Bart agrega un tercer argumento, que especifica un idioma diferente para usar en la salida.
SELECT
FORMAT(GETDATE(), 'd') AS [Default],
FORMAT(GETDATE(), 'd', 'en-US') AS [en-US];
Resultado:
+------------+-----------+ | Default | en-US | |------------+-----------| | 30.03.2020 | 3/30/2020 | +------------+-----------+