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