Al momento de filtrar nuestra data a nivel de fecha, podemos obtener resultados que, no necesariamente son exactos, si el campo por el que estamos buscando es de tipo datetime. Si lo que queremos es buscar la fecha a nivel de dia, sin importar la hora, minutos o segundo, tenemos que obtener, del campo que contiene la fecha y la hora, solo la porción que corresponde a la fecha. Para eso podemos hacer lo siguiente:
cast(floor(cast([campo de fehca y hora] as float)) as datetime)
De esta manera nos aseguramos que los resultados obtenidos sean exactos y confiables.
Roberto Torres Rodríguez
Roberto Torres Rodriguez es el fundador y CEO de Softech Corporation. Él es un programador con más de 10 años de experiencia. Actualmente el se encuentra desarrollando soluciones para sus clientes basadas en la tecnología web y móvil, pero también, creando soluciones innovadoras utilizando estrategias como inteligencia artificial y "machine learning".
Related posts
1 Comment
Deja una respuesta Cancelar la respuesta
Publicaciones Populares
Categorías
- ASP.Net (6)
- C# (10)
- CSS (5)
- DIY (1)
- General (5)
- JavaScript (8)
- JQuery (6)
- Kodi (antes XBMC) (4)
- Nuevo (3)
- Raspberry Pi (2)
- SQL Server (15)
- Uncategorized (1)
- Vue.js (2)
- Wordpress (1)
Yo prefiero usar:
cast ( [Nombre del campo fecha-hora] as date )
En cualquier caso, ambas soluciones son malas ya que no es posible optimizar la consulta ya que se estaría haciendo un con un campo calculado.
Lo mejor será hacer algo como esto:
Select …. from …. where campo between ‘YYYY/MM/DD 00:00.00.00’ and ‘YYYY/MM/DD 23:59.59.999’ en donde YYYY/MM/DD es la fecha que uno debe filtrar.
Esta consuta aunque es más tediosa de hacer puede ser utlizada con un índice que optimice la búqueda.