J'essaie :
SELECT *
FROM dbo.March2010 A
WHERE A.Date >= 2010-04-01;
A.Date
ressemble à : 2010-03-04 00:00:00.000
Cependant, cela ne fonctionne pas.
Quelqu'un peut-il fournir une référence pour expliquer pourquoi ?
select *
from dbo.March2010 A
where A.Date >= Convert(datetime, '2010-04-01' )
Dans votre requête, 2010-4-01
est traitée comme une expression mathématique, donc en substance, elle se lit comme suit
select *
from dbo.March2010 A
where A.Date >= 2005;
(2010 moins 4 moins 1 est 2005
)
En le convertissant en une datetime
correcte, et en utilisant des guillemets simples, vous résoudrez ce problème).
Techniquement, l'analyseur pourrait vous permettre de vous en sortir avec
select *
from dbo.March2010 A
where A.Date >= '2010-04-01'
il fera 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.