Inicio > SQL SERVER > Remover la hora en una variable DateTime usando SQL SERVER

Remover la hora en una variable DateTime usando SQL SERVER



Aveces utilizamos variables DateTime y guardamos fecha y hora, por ejemplo en una tabla de LOG, pero el problema es que luego deseamos realizar un filtro solo por la fecha y tendremos problemas les podre un ejemplo:
Registro1 01/01/2010 01:01:12
Registro2 02/01/2010 12:50


Si quiero realizar un filtro que devuelva todos los registros del 2 de diciembre al 2 de enero seria asi:

SELECT Registro FROM Registros 
WHERE Fecha BETWEEN ‘02/12/2009’ AND ‘02/01/2010’ 


Solo me traerá el registro uno, ya que al tomar la hora toma la Fecha de registro2 con una fecha mayor a la ingresada en el filtro .
La solución es realizar una doble conversión primero a Varchar y luego a DateTime

SELECT Registro
FROM Registros 
WHERE CONVERT(DateTime,CONVERT(varchar, Fecha , 101),103)
BETWEEN ‘02/12/2009’ AND ‘02/01/2010’ 


De esta manera pueden quitar la hora, tanto para comprar como para algún dato que entre como parámetro algún procedimiento almacenado o función. pueden jugar con el formato de la conversion si quieren otro tipo de resultados.
Espero que a todos les sirva, si les sirve me cuentan🙂.

  1. Josue Flores
    abril 23, 2012 a las 11:14 pm

    Convert(Char(10), upr3.CHEKDATE, 101

  2. Josue Flores
    abril 23, 2012 a las 11:15 pm

    Convert(Char(10), upr3.CHEKDATE, 101)

  3. Katty
    noviembre 26, 2012 a las 4:35 pm

    Me sale :
    The conversion of a varchar data type to a datetime data type resulted in an out-of-range value.

    • noviembre 26, 2012 a las 4:44 pm

      fijate si como dice Josue Flores te funciona Convert(Char(10), upr3.CHEKDATE, 101)

  1. No trackbacks yet.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: