Stengiuosi:
SELECT *
FROM dbo.March2010 A
WHERE A.Date >= 2010-04-01;
A.Date
atrodo taip: 2010-03-04 00:00:00.000
Tačiau tai neveikia.
Ar kas nors gali pateikti nuorodą, kodėl?
select *
from dbo.March2010 A
where A.Date >= Convert(datetime, '2010-04-01' )
Jūsų užklausoje 2010-4-01
traktuojama kaip matematinė išraiška, todėl iš esmės ji skamba taip
select *
from dbo.March2010 A
where A.Date >= 2005;
(2010 minus 4 minus 1 yra 2005
)
Šią problemą išspręsite pavertę ją tinkama data
ir naudodami viengubas kabutes).
Techniškai analizatorius gali leisti jums išvengti
select *
from dbo.March2010 A
where A.Date >= '2010-04-01'
jis atliks konvertavimą už jus, bet, mano nuomone, tai mažiau skaitoma nei aiškus konvertavimas į DateTime
techninės priežiūros programuotojui, kuris ateis po jūsų.