I'estou a tentar:
SELECT *
FROM dbo.March2010 A
WHERE A.Date >= 2010-04-01;
"A.Date" parece que sim: 2010-03-04 00:00:00.000
No entanto, isto não está a funcionar.
Alguém pode fornecer uma referência para o porquê?
select *
from dbo.March2010 A
where A.Date >= Convert(datetime, '2010-04-01' )
Na sua consulta, 2010-4-01
é tratado como uma expressão matemática, por isso em essência lê-se
select *
from dbo.March2010 A
where A.Date >= 2005;
(2010 menos 4 menos 1 é 2005
Convertendo-o para um datatime
apropriado, e utilizando aspas simples irá corrigir este problema).
Tecnicamente, o analisador pode permitir que você saia impune com
select *
from dbo.March2010 A
where A.Date >= '2010-04-01'
ele fará a conversão para você, mas na minha opinião é menos legível do que converter explicitamente para um `DateTime' para o programador de manutenção que virá depois de você.