Heim >Datenbank >MySQL-Tutorial >Wie frage ich in SQL Server korrekt nach Datumsangaben ab, die größer als ein angegebenes Datum sind?

Wie frage ich in SQL Server korrekt nach Datumsangaben ab, die größer als ein angegebenes Datum sind?

Susan Sarandon
Susan SarandonOriginal
2024-12-26 01:24:14749Durchsuche

How to Correctly Query for Dates Greater Than a Specified Date in SQL Server?

Datumsvergleich in SQL Server: Abfragen nach Datumsangaben, die größer als angegeben sind

In SQL Server umfassen Abfragen häufig den Vergleich von Datumsangaben, um bestimmte Daten zu filtern und abzurufen Daten. Wenn Sie versuchen, Datumsangaben abzufragen, die über einem bestimmten Datum liegen, ist es wichtig, Datumsformate richtig zu handhaben.

Bedenken Sie die folgende Abfrage:

SELECT *
FROM dbo.March2010 A
WHERE A.Date >= 2010-04-01;

wobei A.Date im Format ' dargestellt wird. 2010-03-04 00:00:00.000'. Diese Abfrage liefert jedoch möglicherweise nicht die erwarteten Ergebnisse.

Der Grund für dieses Problem liegt in der Interpretation des Ausdrucks 2010-04-01. In SQL Server werden mathematische Berechnungen für Datumswerte durchgeführt, wenn diese nicht in einfache Anführungszeichen gesetzt sind. Das Subtrahieren von 4 und 1 von 2010 ergibt 2005, was nicht der beabsichtigte Vergleichswert ist.

Um dieses Problem zu beheben, muss der Ausdruck mithilfe der Convert-Funktion explizit in einen Datetime-Datentyp konvertiert werden. Die korrigierte Abfrage lautet:

select *
from dbo.March2010 A
where A.Date >= Convert(datetime, '2010-04-01' )

Jetzt vergleicht die Abfrage die Daten korrekt und gibt Datensätze zurück, bei denen der A.Date-Wert größer oder gleich „2010-04-01“ ist.

Das obige ist der detaillierte Inhalt vonWie frage ich in SQL Server korrekt nach Datumsangaben ab, die größer als ein angegebenes Datum sind?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn