Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:Banco de Dados SQL do
Azure
Instância Gerenciada de SQL do Azure
Azure Synapse Analytics
Analytics Platform System (PDW)
Banco de Dados SQL no Microsoft Fabric
Esta função devolve uma cadeia de caracteres que representa a data especificada da data especificada.
Consulte Tipos de dados e funções de data e hora (Transact-SQL) para obter uma visão geral de todos os tipos de dados e funções de data e hora do Transact-SQL.
Transact-SQL convenções de sintaxe
Sintaxe
DATENAME ( datepart , date )
Arguments
datepart
A parte específica do argumento da data que DATENAME vai regressar. Esta tabela lista todos os argumentos datepart válidos.
Observação
DATENAME não aceita equivalentes de variáveis definidas pelo utilizador para os argumentos datepart .
| datepart | Abbreviations |
|---|---|
| ano | aaa, aaaa |
| trimestre | QQ, Q |
| mês | Mm, M |
| Dia do Ano | Dy, Y |
| Dia | DD, D |
| semana | WK, WW |
| Dias úteis | dw, w |
| hora | hh |
| minuto | mi, n |
| segundo | SS, S |
| milissegundos | em |
| microssegundos | MCS |
| nanossegundos | NS |
| TZoffset | tz |
| ISO_WEEK | ISOWK, ISOWW |
date
Uma expressão que pode resolver para um dos seguintes tipos de dados:
- date
- datetime
- datetimeoffset
- datetime2
- smalldatetime
- time
Para data, DATENAME aceitará uma expressão de coluna, expressão, literal de cadeia de caracteres ou variável definida pelo usuário. Use anos de quatro dígitos para evitar problemas de ambiguidade. Consulte Configurar a opção de configuração do servidor de corte de ano de dois dígitos para obter informações sobre anos de dois dígitos.
Tipo de Retorno
nvarchar
Valor de retorno
- Cada datepart e suas abreviaturas retornam o mesmo valor.
O valor de retorno depende do ambiente de linguagem definido usando SET LANGUAGE e da opção Configure a linguagem padrão Server Server Option do login. O valor de retorno depende de SET DATEFORMAT se date for um literal de cadeia de alguns formatos. SET DATEFORMAT não altera o valor de retorno quando a data é uma expressão de coluna de um tipo de data ou hora.
Quando o parâmetro de data tem um argumento de tipo de dado de data , o valor de retorno depende da definição especificada por SET DATEFIRST.
Argumento TZoffset datepart
Se o argumento datepart for TZoffset (tz) e o argumento date não tiver deslocamento de fuso horário, devolve DATEADD 0.
smalldatetime date Argumento
Quando a data é smalldatetime, DATENAME devolve segundos como 00.
Default devolvido para uma data que não está no argumento de data
Se o tipo de dado do argumento date não tiver a datepart especificada, DATENAME só devolverá o padrão para essa datepart se o argumento date tiver um literal .
Por exemplo, o ano-mês-dia por defeito para qualquer tipo de data é 1900-01-01. Esta afirmação tem argumentos de data para datepart, um argumento de tempo para data, e DATENAME devolve 1900, January, 1, 1, Monday.
SELECT DATENAME(year, '12:10:30.123')
,DATENAME(month, '12:10:30.123')
,DATENAME(day, '12:10:30.123')
,DATENAME(dayofyear, '12:10:30.123')
,DATENAME(weekday, '12:10:30.123');
Se a data for especificada como uma variável ou coluna de tabela, e o tipo de dado dessa variável ou coluna não tiver a data especificada, DATENAME devolverá o erro 9810. Neste exemplo, a variável @t tem um tipo de dado temporal . O exemplo falha porque a data do ano parcial é inválida para o tipo de dado temporal :
DECLARE @t time = '12:10:30.123';
SELECT DATENAME(year, @t);
Observações
Utilização DATENAME nas seguintes cláusulas:
- AGRUPAR POR
- HAVING
- ORDENAR POR
- Lista SELECT <>
- WHERE
No SQL Server, o DATENAME conjura implicitamente literais de string como um tipo datetime2 . Ou seja, DATENAME não suporta o formato YDM quando a data é passada como uma string. Você deve converter explicitamente a cadeia de caracteres para um tipo datetime ou smalldatetime para usar o formato YDM.
Examples
Este exemplo devolve as partes da data para a data especificada. Substitua o argumento na instrução SELECT por um valor datapart da tabela datepart da tabela:
SELECT DATENAME(datepart,'2007-10-30 12:15:32.1234567 +05:10');
Aqui está o conjunto de resultados.
| datepart | Valor de retorno |
|---|---|
| ano, yyyy, yy | 2007 |
| Quarto, Qq, Q | 4 |
| mês, mm, m | Outubro |
| Dayofyear, Dy, Y | 303 |
| Dia, DD, D | 30 |
| semana, semana, ww | 44 |
| Durante a semana, DW | Terça-feira |
| hora, hh | 12 |
| minuto, n | 15 |
| segundo, ss, s | 32 |
| milissegundo, sra. | 123 |
| Microssegundos, MCS | 123456 |
| nanossegundo, ns | 123456700 |
| TZoffset, tz | +05:10 |
| ISO_WEEK, ISOWK, ISOWW | 44 |
Azure Synapse Analytics and Analytics Platform System (PDW)
Este exemplo devolve as partes da data para a data especificada. Substitua o argumento na instrução SELECT por um valor datapart da tabela datepart da tabela:
SELECT DATENAME(datepart,'2007-10-30 12:15:32.1234567 +05:10');
Aqui está o conjunto de resultados.
| datepart | Valor de retorno |
|---|---|
| ano, yyyy, yy | 2007 |
| Quarto, Qq, Q | 4 |
| mês, mm, m | Outubro |
| Dayofyear, Dy, Y | 303 |
| Dia, DD, D | 30 |
| semana, semana, ww | 44 |
| Durante a semana, DW | Terça-feira |
| hora, hh | 12 |
| minuto, n | 15 |
| segundo, ss, s | 32 |
| milissegundo, sra. | 123 |
| Microssegundos, MCS | 123456 |
| nanossegundo, ns | 123456700 |
| TZoffset, tz | +05:10 |
| ISO_WEEK, ISOWK, ISOWW | 44 |