Comparación de fechas en T-SQL

Escrito por erica harisson | Traducido por juliana star
  • Comparte
  • Twittea
  • Comparte
  • E-mail

La función DATEDIFF de T-SQL te permite comparar dos fechas y devuelve la diferencia entre ellas en distintos intervalos, incluyendo años, meses, días, horas, minutos o segundos. Para comprobaciones de cronología también puedes usar la opción "between" y verificar para saber si una fecha específica se encuentra entre otras dos. También puedes comparar dos fechas usando los operadores mayor que, menor e igual a.

Otras personas están leyendo

Tipos de datos de fecha

A partir de SQL 2008, las bases de datos de Microsoft soportan tipos de datos que te permiten almacenar la fecha y la hora de forma separada. Otros valores de fecha son smalldatetime, que almacena un valor combinado de fecha y hora que no incluye segundos, datetime, que almacena el valor con una precisión de hasta 0,00333 segundos, y datetime2 con una precisión de 100 nanosegundos.

Uso de DATEDIFF

DATEDIFF te permite devolver el número de límites de un tipo específico que ocurren entre dos fechas. Entre los intervalos o límites disponibles que se pueden verificar se encuentran el año, trimestre, mes, día, semana, hora, minuto, segundo y más. El formato de la función DATEDIFF es DATEDIFF ('límite', fechainicial, fechafinal). El límite es la parte de la fecha, de entre las opciones anteriores, que quieres verificar. Es posible usar muchas abreviaturas para esas partes de fecha. La 'fechainicial' y 'fechafinal' pueden representar cualquier expresión válida de una variable que pueda ser evaluada como un tipo de dato de fecha u hora legítima.

Comparación usando Between

Para verificar su una fecha ocurre después de una fecha específica y antes de otra, puedes usar la instrucción BETWEEN. Esto es útil en una consulta para obtener todos los objetos en un cierto periodo de tiempo. Por ejemplo, puedes usarla en la cláusula WHERE para obtener todos los eventos que sucedan en enero, como se muestra a continuación:

SELECT eventID, eventDate from Events WHERE eventDate between '01/01/2011' AND '01/31/2011'

Otras comparaciones de fecha

Para comparar dos fechas también puedes usar los operadores mayor que, menor que o igual a en tus instrucciones WHERE. Para encontrar todos los elementos con fecha anterior al 1ro. de enero del año 2011 puedes usar: SELECT * from [table] WHERE date <'01/01/2011'. La misma lógica aplica para las comparaciones mayor que e igual a. La comparación de fechas con este método toma en cuenta los valores de tiempo almacenados en un tipo de dato datetime, por lo que si quieres obtener todos los valores que ocurran antes del mediodía de una fecha determinada asegúrate de incluir esta condición en la parte que se encuentra después del signo de comparación.

No dejes de ver

Filtrar por:
  • Mostrar todos
  • Artículos
  • Galerías de fotos
  • Videos
Ordenar:
  • Más relevante
  • Más popular
  • Más reciente

No se encuentran artículos disponibles

No se encuentran slideshows disponibles

No se encuentran videos disponibles