Jeg prøver:
SELECT *
FROM dbo.March2010 A
WHERE A.Date >= 2010-04-01;
A.Date
ser ud som: 2010-03-04 00:00:00.000
Dette virker dog ikke.
Er der nogen der kan give en reference til hvorfor?
select *
from dbo.March2010 A
where A.Date >= Convert(datetime, '2010-04-01' )
I din forespørgsel behandles 2010-4-01
som et matematisk udtryk, så i det væsentlige lyder det
select *
from dbo.March2010 A
where A.Date >= 2005;
(2010 minus 4 minus 1 er 2005
)
Hvis du konverterer det til en rigtig datetime
og bruger enkelt anførselstegn, vil dette problem blive løst).
Teknisk set kan parseren måske tillade dig at slippe af sted med
select *
from dbo.March2010 A
where A.Date >= '2010-04-01'
den vil foretage konverteringen for dig, men efter min mening er det mindre læsbart end eksplicit at konvertere til en DateTime
for den vedligeholdelsesprogrammør, der kommer efter dig.