SQL BETWEEN dla tekstu a wartości liczbowe
BETWEEN
jest używany w aWHERE
klauzula do wyboru zakresu danych między dwiema wartościami.
Jeśli mam rację, czy punkt końcowy zakresu jest wyłączony, czy nie, jest on specyficzny dla DBMS.
Czego nie rozumiem w następujących kwestiach:
Jeśli mam tabelę wartości i wykonuję następujące zapytanie:
SELECT food_name
FROM health_foods
WHERE calories BETWEEN 33 AND 135;`
Zapytanie zwraca jako wiersze wynikówwłącznie z kalorie = 33 i kalorie = 135 (tj. punkty końcowe zakresu sąw zestawie).
Ale jeśli to zrobię:
SELECT food_name
FROM health_foods
WHERE food_name BETWEEN 'G' AND 'O';
ja robięnie zdobądź wierszefood_name
zaczynając odO
. To znaczy. koniec zakresu towyłączony.
Aby zapytanie działało zgodnie z oczekiwaniami, wpisuję:
SELECT food_name
FROM health_foods
WHERE food_name BETWEEN 'G' AND 'P';`
Moje pytanie brzmi: dlaczego jest taka różnicaBETWEEN
numery i dane tekstowe?