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

¿Cómo consulto todas las fechas posteriores a una fecha determinada en SQL Server?

select *  
from dbo.March2010 A 
where A.Date >= Convert(datetime, '2010-04-01' )

En su consulta, 2010-4-01 se trata como una expresión matemática, por lo que en esencia se lee

select *  
from dbo.March2010 A 
where A.Date >= 2005; 

(2010 minus 4 minus 1 is 2005 Convirtiéndolo a un datetime adecuado y el uso de comillas simples solucionará este problema).

Técnicamente, el analizador podría permitirle salirse con la suya

select *  
from dbo.March2010 A 
where A.Date >= '2010-04-01'

hará la conversión por usted, pero en mi opinión es menos legible que convertir explícitamente a un DateTime para el programador de mantenimiento que vendrá después de ti.