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 для чисел и текстовых данных?

Ответы на вопрос(3)

Ваш ответ на вопрос