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

Вниз

Как сортировать по строковым полям c числовыми данными   Найти похожие ветки 

 
Юра   (2002-09-30 13:40) [0]

Есть строковое поле с данными типа 1; 1А; 2А; 2Б ...10, 11, 11А
При сортировке по "order by" получаем
порядок: 1, 1А, 10, 11А, 2А...
Нужно получить порядок сортировки как для чисел не разделяя поле на два отдельных (числовое и строковое).
Единственное, что приходит в голову - все-таки разделить поле на 2 а для пользователя отображать вычисляемое поле, но этот вариант очень трудоемкий (переделать формы, процедуры и др.)
Посоветуйте пожайлуста что-нибудь...


 
Johnmen ©   (2002-09-30 13:46) [1]

Вопрощающий, чтобы получить исчерпывающий ответ, должен придерживаться негласных правил, одно из которых - приводить тип СУБД.


 
BlackTiger   (2002-09-30 14:08) [2]

Извращение - добить слева нулями: сделать невидимое поле Field2, где значения Field1 будут выровнены по правому краю и слева все забито, например, символьными нулями ("0"), а потом сортировать по Field2, а не по Field1.
Других способов вроде не существует - везде нужно выравнивать по правому краю.
З.Ы.: за свою жизнь я видел только одну базу (не стандартная), которая ПРАВИЛЬНО сортировала смешанные данные (цифры+символы).


 
handra ©   (2002-09-30 15:06) [3]

Выражение для сортировки:

REPLICATE("0",15-ISNULL(ISNUMERIC(DMT_NUM),0)-LEN(ISNULL(REPLACE(DMT_NUM,"-",""),"")))+ISNULL(REPLACE(DMT_NUM,"-",""),"")+(CASE ISNUMERIC(DMT_NUM) WHEN 1 THEN "А" ELSE "" END) as sort_fld

- MSSQL делал так, DMT_NUM - имя поля.


 
3JIA9I CyKA ©   (2002-09-30 15:08) [4]

Лёха , привет!


 
sniknik ©   (2002-09-30 16:47) [5]

привет всем.
полностью поддерживаю Johnmen © (30.09.02 13:46)

handra © (30.09.02 15:06)
а если у него Local SQl? и стоит огород городить в итоге без толку.


 
Wolf226 ©   (2002-09-30 17:05) [6]

Если это Interbase - можно попробовать написать UDF выделяющее
номер, и выполнить сортировку по вычисляемому полю.



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

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

Наверх




Память: 0.48 MB
Время: 0.017 c
1-68831
Лана Розанова
2002-10-10 11:48
2002.10.21
HTML


1-68707
Term
2002-10-09 15:24
2002.10.21
Посоветуйте, как можно проверить, создана ли MDI форма или нет?


14-68961
начинающий програмер
2002-09-25 20:30
2002.10.21
Delphi7


3-68644
Roma111
2002-09-30 13:56
2002.10.21
Проверка имени и пароля


1-68745
monstrische
2002-10-10 18:32
2002.10.21
Как в Delphi7 сделать popup-меню в стиле WinXP?