Comment rechercher toutes les dates supérieures à une certaine date dans SQL Server ?

Comment rechercher toutes les dates supérieures à une certaine date dans SQL Server ?

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

Dans votre requête, 2010-4-01 est traité comme une expression mathématique, donc en substance cela se lit :

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

(2010 moins 4 moins 1 égale 2005
La conversion en un datetime correct, avec l’utilisation de guillemets simples, résoudra ce problème.)

Techniquement, l’analyseur pourrait vous permettre d’écrire

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

il effectuera la conversion pour vous, mais à mon avis c’est moins lisible que de convertir explicitement en DateTime pour le programmeur de maintenance qui viendra après vous.