sql >> Base de Datos >  >> RDS >> Sqlserver

¿Cómo consultar el campo DATETIME usando solo la fecha en Microsoft SQL Server?

use el rango o la función DateDiff

 select * from test 
 where date between '03/19/2014' and '03/19/2014 23:59:59'

o

 select * from test 
 where datediff(day, date, '03/19/2014') = 0

Otras opciones son:

  1. Si tiene control sobre el esquema de la base de datos y no necesita los datos de tiempo, elimínelos.

  2. o, si debe conservarlo, agregue un atributo de columna calculada que tenga la parte de la hora del valor de la fecha eliminada...

Alter table Test Add DateOnly As DateAdd(day, datediff(day, 0, date), 0)

o, en versiones más recientes de SQL Server...

Alter table Test Add DateOnly As Cast(DateAdd(day, datediff(day, 0, date), 0) as Date)

luego, puede escribir su consulta de la siguiente manera:

select * from test 
where DateOnly = '03/19/2014'