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

Como exibir uma data no formato britânico no SQL Server (T-SQL)


Este artigo demonstra como formatar explicitamente uma data no formato inglês da Grã-Bretanha ao usar o T-SQL FORMAT() função no SQL Server.

Você pode ou não precisar usar esse argumento, dependendo do idioma da sua sessão local. No entanto, veja como especificar explicitamente o formato de data em inglês da Grã-Bretanha.


Exemplo 1 – Formato de data britânico curto


Para especificar explicitamente que uma data deve ser exibida no formato inglês da Grã-Bretanha, use en-gb como o argumento da cultura:
DECLARE @thedate date = '2020-12-01'
SELECT FORMAT(@thedate, 'd', 'en-gb') Result;

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

Neste caso, usei um d minúsculo como segundo argumento. Isso resulta em um formato de data relativamente curto, com o dia e o mês sendo exibidos como números.

E como estamos usando o formato inglês da Grã-Bretanha, o dia vem antes do mês (isso contrasta com o formato de data dos EUA, onde o mês vem antes do dia).

Exemplo 2 – Formato de data britânico longo


Você pode alterar o segundo argumento para um D maiúsculo para resultar em um formato de data mais longo, com o mês escrito:
DECLARE @thedate date = '2020-12-01'
SELECT FORMAT(@thedate, 'D', 'en-gb') Result;

Resultado:
+------------------+
| Result           |
|------------------|
| 01 December 2020 |
+------------------+

Exemplo 3 – Formato de data britânico personalizado


Você também pode usar um formato de data personalizado, se necessário. Isso permite que você declare explicitamente como e onde cada componente de data vai.

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

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

Eu ainda especifico uma cultura mesmo especificando exatamente onde cada componente de data vai. A razão pela qual estou fazendo isso é declarar explicitamente qual idioma usar. A omissão desse argumento pode ou não causar problemas, dependendo dos idiomas usados.

Verificando sua sessão atual


Ao usar o FORMAT() função, se o argumento de cultura não for fornecido, o idioma da sessão atual será usado. Este idioma é definido implicitamente ou explicitamente usando o SET LANGUAGE demonstração.

Para obter mais informações, aqui estão 3 maneiras de obter o idioma da sessão atual no SQL Server (T-SQL).

Consulte também Como definir o idioma atual no SQL Server (T-SQL).