Heim > Datenbank > MySQL-Tutorial > Ist der „BETWEEN'-Operator von MS SQL Server inklusiv oder exklusiv?

Ist der „BETWEEN'-Operator von MS SQL Server inklusiv oder exklusiv?

DDD
Freigeben: 2024-12-27 21:41:14
Original
221 Leute haben es durchsucht

Is MS SQL Server's `BETWEEN` Operator Inclusive or Exclusive?

Inklusive Bereichsabfrage mit dem „BETWEEN“-Operator von MS SQL Server

Bei Verwendung des „BETWEEN“-Operators von MS SQL Server ist es wichtig zu verstehen, ob Die Bereichsgrenzen werden in die Auswahlkriterien einbezogen oder ausgeschlossen.

Um die konkrete Frage zu beantworten, müssen die Der Operator „ZWISCHEN“ ist inklusive. Dies bedeutet, dass standardmäßig die als Unter- und Obergrenze angegebenen Werte in die Ergebnismenge einbezogen werden. Im bereitgestellten Beispiel:

SELECT foo
FROM bar
WHERE foo BETWEEN 5 AND 10
Nach dem Login kopieren

Die Abfrage wählt alle Zeilen aus, in denen der Wert der Spalte „foo“ zwischen (einschließlich) 5 und 10 liegt.

Dies ist jedoch ein inklusives Verhalten kann bei der Arbeit mit DateTimes eine Einschränkung darstellen. Wenn nur ein Datum angegeben wird, behandelt SQL Server es standardmäßig als Mitternacht dieses Tages. Das heißt, wenn Sie alle Werte innerhalb eines bestimmten Tages erfassen möchten, müssen Sie 3 Millisekunden vom Enddatum abziehen, um zu vermeiden, dass fehlende Daten in die 3 Millisekunden vor Mitternacht fallen.

Zum Beispiel, um alle Werte innerhalb dieses Tages abzurufen Juni 2016 wäre die korrekte Abfrage:

where myDateTime between '20160601' and DATEADD(millisecond, -3, '20160701')
Nach dem Login kopieren

Dadurch wird sichergestellt, dass Sie alle Werte innerhalb von Juni 2016 erfassen, einschließlich derjenigen, die innerhalb der 3 Millisekunden liegen vor Mitternacht am 30. Juni.

Es ist wichtig zu beachten, dass der „ZWISCHEN“-Operator für die meisten Datentypen zwar inklusive ist, es jedoch Ausnahmen gibt. Beispielsweise wird bei den Datentypen „datetime2“ und „datetimeoffset“ generell empfohlen, die Zeichen „>=" und „<" zu verwenden. Operatoren anstelle von „BETWEEN“, um mögliche Probleme mit der Bereichskürzung zu vermeiden.

Das obige ist der detaillierte Inhalt vonIst der „BETWEEN'-Operator von MS SQL Server inklusiv oder exklusiv?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage