jeka_t |
Отправлено: 11.03.2005, 16:54 |
|
Не зарегистрирован
|
ADO
Добрый день всем...
Есть такой вопрос:
У меня есть текстовое поле в таблице, в нём такие данные:
А-1
А-2
А-3
А-15
А-4
и т. д.
Я хочу отсортировать всю таблицу относительно этого поля. Согласно кодов символов, сортируется в такой последовательности:
А-1
А-15
А-2
А-3
А-4
Но это не то, что я хочу получить...
Возможен ли такой вариант сортировки:
А-1
А-2
А-3
А-4
А-5
??? |
|
AVC |
Отправлено: 11.03.2005, 17:23 |
|
Ветеран
Группа: Модератор
Сообщений: 1583
|
QUOTE |
Возможен ли такой вариант сортировки:
|
Да, если разбить поле на составляющие и сортировать по двум полям (можно виртуальным).
Или выравнять числовую часть по правому краю
Реализация зависит от СУБД (см. верхний топик) |
|
olegenty |
Отправлено: 12.03.2005, 18:59 |
|
Ветеран
Группа: Модератор
Сообщений: 2412
|
я бы вообще это на стороне сервера сделал, да при том вообще поле в таблице на 2 побил "перманентно", а вот выводил на экран — как пользователю надо. а то 1 НФ не соблюдается.
|
|
xim |
Отправлено: 14.03.2005, 11:06 |
|
Станционный диспетчер
Группа: Участник
Сообщений: 143
|
В MSSQLServer
SQL | /* nm - то самое поле */
select * from table order by cast(
ltrim(substring(nm,charindex('-',nm)+1, len(nm)-1)) as int
)
|
Под другими платформами нужно найти аналоги функций |
|