Wie kann ich in SQL Server alle Daten abfragen, die größer als ein bestimmtes Datum sind?
Ich versuche es:
SELECT *
FROM dbo.March2010 A
WHERE A.Date >= 2010-04-01;
A.Date
sieht aus wie: 2010-03-04 00:00:00.000
Dies funktioniert jedoch nicht.
Kann jemand einen Hinweis darauf geben, warum?
307
3
In Ihrer Abfrage wird
2010-4-01
als mathematischer Ausdruck behandelt, so dass sie im Wesentlichen lautet(
2010 minus 4 minus 1 ist 2005
) Durch die Umwandlung in eine korrekte "Datumsangabe" und die Verwendung von einfachen Anführungszeichen wird dieses Problem behoben).Technisch gesehen könnte der Parser Ihnen erlauben, mit
zu konvertieren, aber meiner Meinung nach ist das weniger lesbar als eine explizite Konvertierung in eine
DateTime
für den Wartungsprogrammierer, der nach Ihnen kommen wird.Versuchen Sie, Ihr Datum in eine Zeichenkette einzuschließen.
Konvertieren Sie zuerst TexBox in Datetime und verwenden Sie diese Variable in der Abfrage