Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.04;
Скачать: 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 вся ветка

Текущий архив: 2004.04.04;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.046 c
7-1074071934
KokWASP
2004-01-14 12:18
2004.04.04
Из-под NT, W2K не работает FindFirst на NetWare вских дисках.


9-1063169556
Orc
2003-09-10 08:52
2004.04.04
Вывод текста с Direct3D


7-1074495064
Serge
2004-01-19 09:51
2004.04.04
win.ini


3-1078282640
ИМХО
2004-03-03 05:57
2004.04.04
Чтение dbf файлов посредством ADO


1-1079524553
Comp
2004-03-17 14:55
2004.04.04
TStringGrid и DrawFocusRect