Страница 1 из 1

Сортировка. Неожиданный результат, ИМХО.

Добавлено: 16 ноя 2006, 14:05
Шмель
Здравствуйте!
Сразу к делу. В таблице есть поля типа VARCHAR. При вводе новых записей эти поля могут заполнятся, а могут не заполнятся. Все нормально. Но почему при попытке отсортировать по такому полю, происходит следующее: вначале выводятся отсортированные строчки из строчек с непустым значением в заданом поле, а в конце выводятся строчки с пустой ячейкой в заданном поле.
Разве так должно быть? Я предполагал, что опциональный параметр DESC просто "переворачивает" порядок вывода строк, и в одном из вариантах первыми были бы строки с пустой ячейкой в заданном поле.
Сервер БД: FireBird (не знаю версии)
Среда разработки: Builder 6, компонент IBDataSet.
Используемый запрос " ...... ORDER BY FieldName [DESC]".
Спасибо.

Добавлено: 16 ноя 2006, 14:15
Merlin
Сразу к делу - это значить посмотреть версию сервера вообще-то и сначала заглянуть в соответсвующий release notes, а не сотрясать воздух. Null - штуко тонкое. Он не значение, а признак. Того, что значения нет. Посему asc/desc на него не влияет - неведомо как сортировать незнамо что. На него влияет директива Nulls First/Last в запросе. Но начиная с FB1.5.

Добавлено: 17 ноя 2006, 12:08
WildSery
Если ты, Шмель, считаешь, что Null = '' (пустая стока, т.е.), то почему у тебя в базе они (Null) есть?
При незаполнении поля пусть туда пишется пустая строка, и будет тебе щасте.