SQL Datepart: Devuelve parte de una fecha

La función SQL DATEPART() puede devolver una sección particular de fecha y un resultado en un formato de número entero; puede aceptar dos argumentos, el intervalo y la fecha, por ejemplo: puede extraer la parte del día, mes, año, hora, segundos, etc.

Funciona de manera muy similar a DATENAME, en el sentido de que especifica una parte de la fecha. Al que tener presente que la función SQL DATEPART devuelve int y DATENAME devuelve nvarchar.

Sintaxis de la función SQL Datepart

DATEPART (intervalo, input_fecha)

Parámetros

  • intervalo: Es una sección de la que podemos obtener una parte de la fecha que puede ser una fecha específica, ya que devuelve un valor entero para el intervalo en particular.
  • input_fecha: es una sección de fecha que se va a extraer en la que podemos describir la fecha para obtener un valor particular de intervalo; nos permite definir valores directos para recuperar los valores de sus tipos de datos dados, como Date, DateTime, Datetimeoffset, Datetime2, Smalldatetime y Time.

La siguiente tabla enumera todos los valores de parte de fecha válidos:

parte de la fechaabreviatura de parte de fecha
añoy, yy, yyyy
cuartoq q, q
mesmmm
día del añody
díadd, d
semanasemana, ww
horaS.S
minutomi, n
segundos, s
milisegundoEM
microsegundomcs
nanosegundons
tzoffsettz
iso_semanaisowk, isoww

 

Ejemplo de la función SQL DATEPART

En el siguiente ejemplo, la función SQL DATEPART() devuelve cada una de las partes de la fecha dada, como un número entero.

SELECT getdate() AS 'FECHA DEL DIA',
DATEPART(d, getdate()) AS 'DíA',
DATEPART(m, getdate() )AS 'MES',
DATEPART(yyyy, getdate()) AS 'AÑO';

Arriba, la función DATEPART() devuelve el número de cada sección de la fecha actual. La función GETDATE() devuelve el valor de fecha y hora actual.

SQL Datepart

Ejemplos de SQL DATEPART

En el siguiente ejemplo, trabajamos una fecha con una variable, luego uso varias instancias de la función SQL  DATEPART() para recuperar diferentes partes de esa fecha.

DECLARE @date datetime2 = '2022-08-12 09:23:12.4113031'; 
SELECT DATEPART(yy, @date) AS AÑO ,
DATEPART (mm, @date) AS MES ,
DATEPART (d, @date) AS DIA ,
DATEPART (hh, @date) AS HORA ,
DATEPART (minute, @date) AS MiNUTO ,
DATEPART (s, @date) AS SEGUNDO ,
DATEPART (ms, @date) AS MILISEGUNDO ,
DATEPART (mcs, @date) AS MICROSEGUNDO ,
DATEPART (q, @date) AS CUARTO ,
DATEPART (dayofyear,@date) AS ANTE_DE_AYER ,
DATEPART (wk, @date) AS SEMANA

En el ejemplo anterior, pasamos diferentes valores de parte de fecha en la función SQL DATEPART (). Mostrará el siguiente resultado:

FUNCION SQL DATEPART

Notas de uso de SQL DATEPART

Algunos puntos importantes a tener en cuenta al usar la función SQL DATEPART son los siguientes:

  • Formato de la fecha: Es importante asegurarse de que el formato de la fecha o la hora se ajuste a los requisitos. Por ejemplo, SQL Server usa un formato de fecha predeterminado de ‘yyyy-mm-dd’.
  • La segunda parte de DATEPART debe ser una cadena que especifique la parte de la fecha o la hora que se va a extraer. Asegúrese de usar la cadena correcta para la parte que se necesita.
  • Zonas horarias: Si la hora que se va a extraer de una fecha o hora incluye una zona horaria, es importante tener en cuenta las conversiones de zona horaria adecuadas para asegurarse de que se obtiene el valor correcto.
  •  La función DATEPART puede afectar el rendimiento si se usa en consultas complejas. Es importante tener en cuenta el impacto de la función en la velocidad de la consulta y en la carga del sistema.
  • Uso en expresiones: La función DATEPART se puede usar en expresiones para calcular valores derivados de las fechas y horas. Asegúrese de comprender cómo se combinan las funciones y operadores en las expresiones para obtener el resultado deseado.
  • En general, la función DATEPART es una herramienta útil en SQL Server para extraer partes específicas de las fechas y horas, pero es importante tener en cuenta los detalles del sistema y las necesidades de la consulta para utilizarla de manera efectiva.

Deja un comentario