Heim >Datenbank >MySQL-Tutorial >Wie frage ich in SQL Server korrekt nach Datumsangaben ab, die größer als ein bestimmter Wert sind?
Beim Versuch, mit dem folgenden Codeausschnitt nach Datumsangaben abzufragen, die größer als ein bestimmtes Datum in SQL Server sind:
SELECT * FROM dbo.March2010 A WHERE A.Date >= 2010-04-01;
Möglicherweise tritt ein unerwarteter Fehler auf. Dies liegt daran, dass der Datumswert 2010-04-01 von SQL Server als mathematischer Ausdruck interpretiert und effektiv in das Jahr 2005 konvertiert wird. Um dieses Problem zu beheben, muss der Datumswert mit der Funktion „Konvertieren“ in ein geeignetes Datum/Uhrzeit-Format konvertiert werden:
SELECT * FROM dbo.March2010 A WHERE A.Date >= Convert(datetime, '2010-04-01' )
Alternativ könnten Sie den Datumswert explizit in einfache Anführungszeichen setzen, was ebenfalls das auslösen würde Konvertierung:
SELECT * FROM dbo.March2010 A WHERE A.Date >= '2010-04-01'
Während der letztere Ansatz technisch akzeptabel ist, wird er im Allgemeinen als weniger lesbar und weniger wartbar angesehen. Durch die explizite Verwendung der Convert-Funktion machen Sie die Konvertierung für zukünftige Betreuer deutlicher.
Das obige ist der detaillierte Inhalt vonWie frage ich in SQL Server korrekt nach Datumsangaben ab, die größer als ein bestimmter Wert sind?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!