![]() |
|
Модераторы: skyboy |
![]()
|
|
| Temdegon |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 429 Регистрация: 11.10.2008 Где: Minsk Репутация: нет Всего: 9 |
Есть запрос:
Второе поле - varchar. Результат сортируется не правильно, и непонятно почему. По идее, первые две строки резулттата должны быть ' -- ALL--' и ' == None ==', т.к. в таблице обычные текстовые данные, не начинающиеся с пробелов. Но результат выглядит так, как будто ORDER BY сначала обрезал ' --' и ' ==', а потом уже отсортировал. Т.е. результат такой, как будто вместо ' -- ALL --' и ' == None ==' там 'ALL' и 'None'. Обьясните плиз, почему так получается. В этом случае я пробелму решил так
Но все-таки хотелось бы выяснить, почему не правильно работает первый вариант, что бы как-нить не наступить на грабли. |
||||
|
|||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: нет Всего: 329 |
Обрезал? Не знаю ,что там за сервер, но в Firebird можно было бы попробовать
Cast(' -- ALL --' as char(10)) |
|||
|
||||
| Temdegon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 429 Регистрация: 11.10.2008 Где: Minsk Репутация: нет Всего: 9 |
БД - PostgreSQL. Оно не обрезается, а порядок строк в результате выглядит так, будто пробелы, =, - игнорируются при сортировке
|
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: нет Всего: 329 |
Может компоненты доступа виноваты? В среде разработки баз данных запросы тестировал?
|
|||
|
||||
| Temdegon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 429 Регистрация: 11.10.2008 Где: Minsk Репутация: нет Всего: 9 |
Тестировал через PHP AdoDB и EMS for PostgreSQL
|
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: нет Всего: 329 |
Спасибо, конечно, что сообщил,
|
|||
|
||||
| Zloxa |
|
|||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 53 Всего: 161 |
Не знаю как в постгри, во многих системах порядок сортировки строк зависит от региональных или языковых параметров сессии.
Для того чтобы быть уверенным в сортировке, лучше сортироваться по явному - не по косвенному(сореджимое строки) критерию Както так:
-------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Составление SQL-запросов | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |