Вниз
Скачать: CL | DM;

Сложности сортировки   Найти похожие ветки 

 
WebErr ©   (2004-03-04 16:28) [0]

В общем так:
сортирую грид по полю стрингового типа, но с целыми компонентами, и, о чудо!, он сортирует в следующем порядке: 1, 10, 11, ..., 2, 20, 21, ... Слава богу разобрался, что тип у поля не целый. =)
Вопрос знатокам: как можно стринговое поле отсортировать как integer? Конструкции типа:

select *
from table t
order by t.docno as integer

не предлагать!!!


 
Тимохов ©   (2004-03-04 16:30) [1]


> Вопрос знатокам: как можно стринговое поле отсортировать
> как integer?

1 вариант: перобразовать в integer и отсортировать
2 вариант: дополнить кадую строку слева нулями, так, чтобы все строки стали одинаковой ширины и отсоритровать


 
WebErr ©   (2004-03-04 16:35) [2]


> Тимохов ©   (04.03.04 16:30) [1]
>
> > Вопрос знатокам: как можно стринговое поле отсортировать
>
> > как integer?
>
> 1 вариант: перобразовать в integer и отсортировать
> 2 вариант: дополнить кадую строку слева нулями, так, чтобы
> все строки стали одинаковой ширины и отсоритровать

Первый вариант предпочтительней! :)
Мда... так и знал, что придётся всю чужую таблу перекорёжить во благо отечества!


 
Zacho ©   (2004-03-04 16:38) [3]

3 вариант (разновидность 1-го) : написать свою процедуру сортировки. На самом деле, ничего сложного.


 
Digitman ©   (2004-03-04 16:44) [4]

что за СУБД ? конкретно ?


 
WebErr ©   (2004-03-04 16:51) [5]


> Digitman ©   (04.03.04 16:44) [4]
> что за СУБД ? конкретно ?

IB - Inter Base. Доступ через, например, IBQuery.


 
Zacho ©   (2004-03-04 17:06) [6]

Тогда или 1, или 2.
Я в таких случаях (когда нужно поде именно char или varchar, и при этом чтобы сортировка была как по integer) использую именно 2. Только дополняю не нулями, а пробелами, и делаю это в триггерах.


 
WebErr ©   (2004-03-04 17:54) [7]

Спасибо всем! :)


 
Digitman ©   (2004-03-04 18:09) [8]

select *
from table t
order by UDF_StrToInt(t.docno)



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.022 c
3-1078463921
avkar
2004-03-05 08:18
2004.04.04
cxDBEdit


3-1078494594
Nous Mellon
2004-03-05 16:49
2004.04.04
Очистка набора данных


14-1078690330
juiceman
2004-03-07 23:12
2004.04.04
убить чужой процесс


14-1078675449
TButton
2004-03-07 19:04
2004.04.04
вот про Матрицу вопрос есть


14-1078743785
Mox Fulder
2004-03-08 14:03
2004.04.04
WinAMP




   Наверх