SQL МЕЖДУ текстом против числовых значений
BETWEEN
используется вWHERE
предложение, чтобы выбрать диапазон данных между двумя значениями.
Если я прав, исключена ли конечная точка диапазона или нет, это зависит от СУБД.
Что я не могу понять в следующем:
Если у меня есть таблица значений, и я делаю следующий запрос:
SELECT food_name
FROM health_foods
WHERE calories BETWEEN 33 AND 135;`
Запрос возвращается как строки результатовв том числе калории = 33 и калории = 135 (то есть конечные точки диапазонавключены).
Но если я сделаю:
SELECT food_name
FROM health_foods
WHERE food_name BETWEEN 'G' AND 'O';
я делаюне получить ряды сfood_name
начиная сO
, То есть конец диапазонане входит.
Чтобы запрос работал как положено, я набираю:
SELECT food_name
FROM health_foods
WHERE food_name BETWEEN 'G' AND 'P';`
Мой вопрос: почему такая разница дляBETWEEN
для чисел и текстовых данных?