Partilhar via


NOME DA DATA (Transact-SQL)

Aplica-se a:Banco de Dados SQL doAzureInstância Gerenciada de SQL do AzureAzure Synapse AnalyticsAnalytics 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

Consulte também

CAST e CONVERT (Transact-SQL)