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

Strings de formato de data/hora padrão compatíveis com FORMAT() no SQL Server


Este artigo fornece uma lista das strings de formato de data e hora padrão que podem ser usadas ao formatar datas e/ou horas usando o FORMAT() função no SQL Server, juntamente com exemplos usando diferentes culturas e tipos de dados.

Esses são os especificadores de formato de data e hora padrão que são suportados pelo .NET Framework e, portanto, pelo SQL Server. Cada string de formato de data e hora padrão é um alias para uma string de formato de data e hora personalizada.


Exemplos de inglês dos EUA com 'datetime2'


A tabela a seguir contém todos os especificadores de formato de data e hora padrão.

Os exemplos pressupõem um datetime2(7) valor de 2030-05-25 23:59:30.1234567 e use pt-br como o valor do argumento de cultura (para inglês dos EUA).
Formatar string Exemplo
d 25/05/2030
D Sábado, 25 de maio de 2030
f Sábado, 25 de maio de 2030, 23h59
F Sábado, 25 de maio de 2030 23h59:30
g 25/05/2030 23h59
G 25/05/2030 23:59:30
M ou m 25 de maio
O ou o 2030-05-25T23:59:30.1234567
R ou r Sáb, 25 de maio de 2030 23:59:30 GMT
s 2030-05-25T23:59:30
t 23h59
T 23:59:30
u 2030-05-25 23:59:30Z
U Sábado, 25 de maio de 2030 23h59:30
Y ou s Maio de 2030

Inglês dos EUA com 'datetimeoffset'


A maioria dos resultados é a mesma ao usar um offset de data e hora valor. No entanto, o O /o strings de formato têm um resultado diferente (o resultado preserva as informações de fuso horário) e o U string de formato resulta em NULL (isso ocorre porque o offset de data e hora tipo de dados não suporta o U especificador de formato).

Os exemplos a seguir pressupõem um offset de data e hora valor de 2030-05-25 23:59:30.1234567 +07:00 e use um argumento de cultura de en-us .
Formatar string Exemplo
d 25/05/2030
D Sábado, 25 de maio de 2030
f Sábado, 25 de maio de 2030, 23h59
F Sábado, 25 de maio de 2030 23h59:30
g 25/05/2030 23h59
G 25/05/2030 23:59:30
M ou m 25 de maio
O ou o 2030-05-25T23:59:30.1234567+07:00
R ou r Sáb, 25 de maio de 2030 16:59:30 GMT
s 2030-05-25T23:59:30
t 23h59
T 23:59:30
u 2030-05-25 16:59:30Z
U NULO*
Y ou s Maio de 2030

* O DateTimeOffset tipo de dados não suporta o especificador de formato “U”, então o resultado é NULL . No entanto, se usarmos um datetime2 valor e descartar o deslocamento, obteríamos Sábado, 25 de maio de 2030 23:59:30 .

Exemplos de cultura invariável com 'datetime2'


Os exemplos a seguir usam a cultura invariável. A cultura invariável é insensível à cultura; está associado ao idioma inglês, mas não a nenhum país/região. Ao formatar um valor de data/hora com FORMAT() , você pode especificar a cultura invariável passando 'iv' como terceiro argumento.

Esses exemplos pressupõem um datetime2(7) valor de 2030-05-25 23:59:30.1234567 e use iv para o argumento culture (que é usado para especificar a cultura invariável).
Formatar string Exemplo
d 25/05/2030
D Sábado, 25 de maio de 2030
f Sábado, 25 de maio de 2030 23h59
F Sábado, 25 de maio de 2030 23:59:30
g 25/05/2030 23:59
G 25/05/2030 23:59:30
M ou m 25 de maio
O ou o 2030-05-25T23:59:30.1234567
R ou r Sáb, 25 de maio de 2030 23:59:30 GMT
s 2030-05-25T23:59:30
t 23:59
T 23:59:30
u 2030-05-25 23:59:30Z
U Sábado, 25 de maio de 2030 23:59:30
Y ou s Maio de 2030

Cultura invariável com 'datetimeoffset'


Esses exemplos pressupõem um offset de data e hora valor de 2030-05-25 23:59:30.1234567 +07:00 e use o iv cultura.
Formatar string Exemplo
d 25/05/2030
D Sábado, 25 de maio de 2030
f Sábado, 25 de maio de 2030 23h59
F Sábado, 25 de maio de 2030 23:59:30
g 25/05/2030 23:59
G 25/05/2030 23:59:30
M ou m 25 de maio
O ou o 2030-05-25T23:59:30.1234567+07:00
R ou r Sáb, 25 de maio de 2030 16:59:30 GMT
s 2030-05-25T23:59:30
t 23:59
T 23:59:30
u 2030-05-25 16:59:30Z
U NULO*
Y ou s Maio de 2030

* O DateTimeOffset tipo de dados não suporta o especificador de formato “U”, então o resultado é NULL . No entanto, se usarmos um datetime2 valor e eliminar o deslocamento, obteríamos Sábado, 25 de maio de 2030 23:59:30 .