Ik doe m'n best:
SELECT *
FROM dbo.March2010 A
WHERE A.Date >= 2010-04-01;
A.Date
ziet eruit als: 2010-03-04 00:00:00.000
Dit werkt echter niet.
Kan iemand een referentie geven waarom?
select *
from dbo.March2010 A
where A.Date >= Convert(datetime, '2010-04-01' )
In uw query, 2010-4-01
wordt behandeld als een wiskundige uitdrukking, dus in wezen het lezen
select *
from dbo.March2010 A
where A.Date >= 2005;
(2010 min 4 min 1 is 2005
)
Het omzetten naar een echte datetime
, en het gebruik van enkele aanhalingstekens zal dit probleem oplossen).
Technisch gezien, kan de parser je toestaan om weg te komen met
select *
from dbo.March2010 A
where A.Date >= '2010-04-01'
het zal de conversie voor je doen, maar naar mijn mening is het minder leesbaar dan het expliciet converteren naar een DatumTijd
voor de onderhoudsprogrammeur die na jou komt.