Hvordan spør jeg etter alle datoer større enn en bestemt dato i SQL Server?
Jeg prøver:
SELECT *
FROM dbo.March2010 A
WHERE A.Date >= 2010-04-01;
A.Date
ser ut som: 2010-03-04 00:00:00.000
Dette fungerer imidlertid ikke.
Kan noen gi en referanse til hvorfor?
307
3
I spørringen din behandles
2010-4-01
som et matematisk uttrykk, så i hovedsak lyder det slik(
2010 minus 4 minus 1 er 2005
). Hvis du konverterer det til en riktigdatetime
og bruker enkle anførselstegn, løser du dette problemet).Teknisk sett kan parseren kanskje tillate deg å slippe unna med
det vil gjøre konverteringen for deg, men etter min mening er det mindre lesbart enn å eksplisitt konvertere til en
DateTime
for vedlikeholdsprogrammereren som kommer etter deg.Prøv å legge inn datoen i en tegnstreng.
Konverter først TexBox til Datetime og deretter....bruk den variabelen i spørringen