sql >> Base de Datos >  >> RDS >> Sqlserver

Cómo mostrar una fecha en formato británico en SQL Server (T-SQL)

Este artículo demuestra cómo formatear explícitamente una fecha en formato de inglés de Gran Bretaña cuando se usa T-SQL FORMAT() función en SQL Server.

Puede o no necesitar usar este argumento, dependiendo del idioma de su sesión local. Sin embargo, aquí se explica cómo especificar explícitamente el formato de fecha en inglés de Gran Bretaña.

Ejemplo 1:formato de fecha británico corto

Para especificar explícitamente que una fecha debe mostrarse en formato inglés de Gran Bretaña, use en-gb como argumento cultural:

DECLARE @thedate date = '2020-12-01'
SELECT FORMAT(@thedate, 'd', 'en-gb') Result;

Resultado:

+------------+
| Result     |
|------------|
| 01/12/2020 |
+------------+

En este caso, usé una d minúscula como segundo argumento. Esto da como resultado un formato de fecha relativamente corto, en el que el día y el mes se muestran como números.

Y debido a que estamos usando el formato de inglés de Gran Bretaña, el día viene antes del mes (esto contrasta con el formato de fecha de EE. UU., donde el mes viene antes del día).

Ejemplo 2:formato de fecha británico largo

Puede cambiar el segundo argumento a una D mayúscula para dar como resultado un formato de fecha más largo, con el mes deletreado:

DECLARE @thedate date = '2020-12-01'
SELECT FORMAT(@thedate, 'D', 'en-gb') Result;

Resultado:

+------------------+
| Result           |
|------------------|
| 01 December 2020 |
+------------------+

Ejemplo 3:formato de fecha británico personalizado

También puede utilizar un formato de fecha personalizado si es necesario. Esto le permite indicar explícitamente cómo y dónde va cada componente de fecha.

Ejemplo:

DECLARE @thedate date = '2020-12-01'
SELECT FORMAT(@thedate, 'ddd, d MMM, yyyy', 'en-gb') Result;

Resultado:

+------------------+
| Result           |
|------------------|
| Tue, 1 Dec, 2020 |
+------------------+

Todavía especifico una cultura a pesar de que estoy especificando exactamente dónde va cada componente de fecha. La razón por la que estoy haciendo esto es para indicar explícitamente qué idioma usar. Omitir este argumento puede o no causar problemas, según los idiomas que se utilicen.

Comprobación de su sesión actual

Al usar FORMAT() función, si no se proporciona el argumento cultural, se utiliza el idioma de la sesión actual. Este idioma se establece de forma implícita o explícita mediante el uso de SET LANGUAGE declaración.

Para obtener más información, aquí hay 3 formas de obtener el idioma de la sesión actual en SQL Server (T-SQL).

Consulte también Cómo configurar el idioma actual en SQL Server (T-SQL).