DATEPART (Transact-SQL)

Devuelve un entero que representa la parte de la fecha especificada.

Icono de vínculo a temasConvenciones de sintaxis de Transact-SQL

Sintaxis

DATEPART ( datepart , date )

Argumentos

  • datepart
    Parámetro que especifica la parte de la fecha que se devolverá. En la tabla siguiente se incluyen las partes de fecha y las abreviaturas reconocidas por Microsoft SQL Server 2005.

    Parte de la fecha Abreviaturas

    year

    yy, yyyy

    quarter

    qq, q

    month

    mm, m

    dayofyear

    dy, y

    day

    dd, d

    week

    wk, ww

    weekday

    dw

    hour

    hh

    minute

    mi, n

    second

    ss, s

    millisecond

    ms

    La parte de la fecha week (wk, ww) refleja los cambios realizados en SET DATEFIRST. El 1 de enero de cualquier año define el número de inicio para la parte de la fecha week, por ejemplo: DATEPART(wk,'Jan 1, xxxx') = 1, donde xxxx es cualquier año.

    La parte de la fecha weekday (dw) devuelve un número que corresponde al día de la semana, por ejemplo: Domingo = 1, Sábado = 7. El número generado por la parte de la fecha weekday depende del valor establecido por SET DATEFIRST. Indica el primer día de la semana.

  • date
    Es una expresión que devuelve un valor datetime o smalldatetime, o una cadena de caracteres con formato de fecha. Use el tipo de datos datetime sólo para fechas posteriores al 1 de enero de 1753. Almacene las fechas anteriores como datos de caracteres. Si escribe valores de tipo datetime, inclúyalos siempre entre comillas. Puesto que smalldatetime es exacto únicamente para el minuto, cuando se utiliza un valor smalldatetime, los segundos y milisegundos son siempre 0.

    Si especifica solamente los dos últimos dígitos del año, los valores menores o iguales que los dos últimos dígitos del valor de la opción de configuración two-digit year cutoff pertenecen al mismo siglo que el año límite. Los valores mayores que los dos últimos dígitos del valor de esta opción se consideran del siglo que precede al año límite. Por ejemplo, si two-digit year cutoff es 2049 (valor predeterminado), 49 se interpreta como 2049 y 50 se interpreta como 1950. Para evitar ambigüedades, utilice años de cuatro dígitos.

    Para obtener más información acerca de cómo especificar valores de hora, vea Formatos de hora. Para obtener más información acerca de cómo especificar fechas, vea Date y Time (Transact-SQL).

Tipos de valor devueltos

int

Notas

Las funciones DAY, MONTH y YEAR son sinónimos de DATEPART(**dd,**date), DATEPART(mm,date) y DATEPART(yy, date) respectivamente.

Ejemplos

La función GETDATE devuelve la fecha actual. No obstante, la fecha completa no es siempre la información necesaria para la comparación; con frecuencia, sólo se compara una parte de la fecha. En el siguiente ejemplo se muestra la salida de GETDATE y DATEPART.

SELECT GETDATE() AS 'Current Date'
GO

Éste es el conjunto de resultados.

Current Date                
--------------------------- 
Feb 18 1998 11:46PM         
SELECT DATEPART(month, GETDATE()) AS 'Month Number'
GO

Éste es el conjunto de resultados.

Month Number 
------------ 
2            

En el siguiente ejemplo se supone que la fecha es el 29 de mayo.

SELECT DATEPART(month, GETDATE())
GO

Éste es el conjunto de resultados.

----------- 
5           
(1 row(s) affected)

En el siguiente ejemplo, la fecha se especifica como un número. Observe que SQL Server interpreta 0 como el 1 de enero de 1900.

SELECT DATEPART(m, 0), DATEPART(d, 0), DATEPART(yy, 0)

Éste es el conjunto de resultados.

----- ------ ------
1     1      1900

Vea también

Referencia

CAST y CONVERT (Transact-SQL)
Tipos de datos (Transact-SQL)
Funciones de fecha y hora (Transact-SQL)

Otros recursos

Formato ISO 8601
Formato alfabético de fecha
Formato numérico de fecha
Formato de fecha y hora de ODBC
Formatos de hora
Formato de cadena sin separar

Ayuda e información

Obtener ayuda sobre SQL Server 2005