Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2006.04.16;
Скачать: [xml.tar.bz2];

Вниз

Order by по символьному полю   Найти похожие ветки 

 
Kot_   (2006-02-18 12:48) [0]

есть запрос
select * from table
order by dogovor

где dogovor - символьное поле и при выполнение запроса выводится список 1,10,11,2,3,32,33
Если возможность отсортировать по данному полю так, как буд-то бы оно является числовым?


 
unknown ©   (2006-02-18 12:56) [1]

select cast(t.dogovor as integer),t.* from table t
order by 1
Но это при условии, что dogovor содержит только числа.


 
Anatoly Podgoretsky ©   (2006-02-18 12:56) [2]

Так правильно сортирует, в лексографическом порядке.
Хочешь в числовом подай на вход числа.


 
Kot_   (2006-02-18 12:59) [3]

Спасибо, буду пробовать


 
Lexer ©   (2006-02-18 13:11) [4]

Как вариант можно добить номер например нолями до опрелеленной длины слева.
пример:
00001
00002
00010
т.е. сортировка текстовых чисел будет произведена в нормальном порядке, также исключена ошибка несоответствия типов в случае если номер документа будет содержать букву

Для этого достаточно написать нужную udf
SELECT *
FROM TABLE
ORDER BY F_PADL(dogovor, 50, "0")


Если нужен код f_padl, то могу сбросить.


 
Desdechado ©   (2006-02-18 15:10) [5]

unknown ©   (18.02.06 12:56) [1]
лучше так не делать, если потом этот датасет надо редактировать
лучше сортировать по CAST
select * from table
order by CAST( dogovor AS INTEGER)

но это не на всех СУБД работает и, естественно, только для данных из чисел без букв

Lexer ©   (18.02.06 13:11) [4]
> можно добить номер например нолями
можно, но медленно, да и только в IB/FB


 
Lexer ©   (2006-02-18 15:15) [6]

to kot: если у тебя в базе номер храниться только ввиде чисел, тогда измени тип поля на integer, иначе даже не пытайся пробовать CAST(dogovor AS INTEGER).


 
Kot_   (2006-02-19 14:59) [7]


> если у тебя в базе номер храниться только ввиде чисел

слишком много баз придется менять и код переписывать


 
Anatoly Podgoretsky ©   (2006-02-19 15:02) [8]

Desdechado ©   (18.02.06 15:10) [5]
Почему, разве она уникальная?


 
Desdechado ©   (2006-02-19 15:07) [9]

Anatoly Podgoretsky ©   (19.02.06 15:02) [8]
что "почему"?



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2006.04.16;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.045 c
8-1131982179
WondeRu
2005-11-14 18:29
2006.04.16
Окно для FFT


15-1143462967
stone
2006-03-27 16:36
2006.04.16
Работа и жизнь...


2-1143606526
romychk
2006-03-29 08:28
2006.04.16
Аналог TQuery без BDE


2-1144161191
[peoep1
2006-04-04 18:33
2006.04.16
где скачать Delphi


15-1143528613
DelphiN!
2006-03-28 10:50
2006.04.16
Flash поисковик





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский