BETWEEN
wird in einer WHERE
-Klausel verwendet, um einen Datenbereich zwischen zwei Werten auszuwählen.
Wenn ich richtig bin, ob der Endpunkt des Bereichs ausgeschlossen ist oder nicht, ist DBMS-spezifisch.
Was kann ich nicht verstehen, in der folgende:
Wenn ich eine Tabelle mit Werten haben und ich die folgende Abfrage:SQL BETWEEN für Text und numerische Werte
SELECT food_name FROM health_foods WHERE calories BETWEEN 33 AND 135;
Die Abfrage gibt als Ergebniszeilen einschließlich Kalorien = 33 und Kalorien = 135 (dh Bereichsendpunkte sind enthalten).
Aber wenn ich tun:
SELECT food_name FROM health_foods WHERE food_name BETWEEN 'G' AND 'O';
ich nicht bekommen Reihen mit food_name mit O
beginnen. I.e. Das Ende des Bereichs ist ausgeschlossen.
Für die Abfrage wie erwartet funktionieren Ich tippe:
SELECT food_name FROM health_foods WHERE food_name BETWEEN 'G' AND 'P';
Meine Frage, warum gibt es eine solche Differenz für BETWEEN
für Zahlen und Textdaten?
mögliche Duplikate von [SQL Between-Klausel mit Zeichenfolgen Spalten] (http://StackOverflow.com/Questions/5980783/SQL-between-Clause-with-strings-columns) – Kermit