Правила сравнения значений
Поскольку в языке запросов могут сравниваться значения разных типов, определены правила, по которым выполняется сравнение двух значений. Данные правила используются для:
- сравнения значений в операторах сравнения;
- определения максимального и минимального значений в агрегатных функциях МИНИМУМ и МАКСИМУМ;
- упорядочивания записей результата запроса в соответствии с порядком, заданным в предложении УПОРЯДОЧИТЬ ПО.
Если типы значений отличаются друг от друга, то отношения между значениями определяются на основании приоритета типов:
Отношения между различными ссылочными типами определяются на основе внутренних ссылочных номеров таблиц, соответствующих тому или иному типу.
Если типы данных совпадают, то производится сравнение значений по следующим правилам:
- у типа Булево значение ИСТИНА больше значения ЛОЖЬ;
- у типа ЧИСЛОобычные правила сравнения для чисел;
- у типа ДАТА более ранние даты меньше более поздних;
- у типа СТРОКА сравнения производится в соответствии с установленными национальными особенностями базы данных;
- ссылочные типы сравниваются на основе своих значений (номера записи и т. п.);
- не допускается сравнение полей неограниченной длины (строки неограниченной длины, ХранилищеЗначения, поле ТИПЗНАЧЕНИЯ из таблицы планов видов характеристик).
Важно! Любая операция сравнения двух значений, в которой участвует хотя бы одно значение NULL, дает результат, аналогичный значению ЛОЖЬ.
см. также: Логические выражения