![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
![]() У меня есть таблица dbf, в ней три поля, все поля типа CHARACTER (20). Но дело в том что в определенном поле содержатся только числовые значения, а мне нужно сделать сортировку по этому полю, но так как оно типа CHAR, а не NUMBER, то запрос вида "select * from table order by pole desc" не работает как надо. Эта таблица автоматически загружается с диска, все в программе работает через sql запросы. Как мне можно преобразовать поле, чтобы работала сортировка?
|
#2
|
|||
|
|||
![]() попробуй:
Код:
select * from table order by binary(pole) desc взялся из неоткуда, ничего не прошу, помогаю просто так ICQ: 593977748 - стучать в случае КРАЙНЕЙ необходимости, ну, или если вы со Ставрополя ![]() |
#3
|
|||
|
|||
![]() Нет, не работает.
|
#4
|
||||
|
||||
![]() Код:
procedure TForm1.Button2Click(Sender: TObject); begin Query1.SQL.Text:='select * from table_a order by field1 desc'; Query1.Open; end; Последний раз редактировалось Admin, Сегодня в 10:32. |
#5
|
|||
|
|||
![]() friz, у меня вообще-то подобный запрос как раз и не работает, точнее он работает но не сортирует числа в числовом поле по убыванию. Мне предоставили таблицу dbf в которой все поля имеют тип CHARACTER(20). И т.к. сортируемое поле типа char а не number, то и сортирует запрос криво. а мне нужно как-то преобразовать поле.
|
#6
|
|||
|
|||
![]() Если попробовать так:
Код:
select *, cast(pole as number) as sortpole from table order by sortpole desc или так: select * from table order by cast(pole as number) desc |