Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.04.16;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.064 c
15-1142841744
Layner
2006-03-20 11:02
2006.04.16
Прослушал тут курсы C#...


15-1143444399
zeff
2006-03-27 11:26
2006.04.16
Сохранить иконку с новыми параметрами


15-1143100591
Xception
2006-03-23 10:56
2006.04.16
Generacija TTH hash a na Delphi


2-1144130848
RomanH
2006-04-04 10:07
2006.04.16
2 графика в одном DBChart е


9-1128026762
Ricks
2005-09-30 00:46
2006.04.16
Область видимости камеры