2013-04-12 1 views
0

У меня есть таблица, которая хранит Firebird2.1 пользовательский элемент - на VARCHAR (35) столбец с именем «» и СВЕДЕНИЯ это что-то вроде этого:SORTING «1 из 20% пункт» Firebird2.1 SQL

1 of 20% item 
5 of 20% item 
3 of 20% item 
4 of 20% item 
7 of 20% item 
2 of 20% item 
. 
. 
. 

, и я хотел, чтобы отсортировать их естественным образом, как это:

1 of 20% item 
2 of 20% item 
3 of 20% item 
4 of 20% item 
5 of 20% item 
7 of 20% item 
. 
. 
. 

Я сделал множество команд SQL, как:

select * from TABLE order by 1 
select * from TABLE order by PARTICULARS asc nulls last 
select * from TABLE order by '00000000000000000000000000000000000'+trim(PARTICULARS)(35) 
select * cast(PARTICULARS as varchar(35)) from TABLE order by 1 

Но все же я получаю ту же таблицу выше. Я программист vb.net для новичков, и через пару дней я начал работать над этим материалом. Помог бы кто-нибудь. Заранее спасибо.

mikeCoolGuy!

+0

Я бы ожидал «ЗАКАЗАТЬ», чтобы позаботиться об этом. Является ли содержание вашего вопроса реальными ценностями, с которыми вы работаете? –

+0

Я только что протестировал его, и 'ORDER BY' должен корректно работать здесь. Что такое DDL таблицы, включая набор символов и сортировку столбца? –

+0

Этот 'ORDER BY 1', который вы используете, сортирует по первому столбцу, является' PARTICULARS' фактически первым столбцом, если вы делаете 'SELECT *', иначе просто вводите явный 'ORDER BY PARTICULARS'. –

ответ

1

выберите * от заказа table_name по гипсу (в междах СВЕДЕНИЕ) по возрастанию

Вы должны ввести произнесения VARCHAR к Int или поплавок для сортировки..

Надеюсь, что это хорошо для вас.

+0

Я сделал это, но так как моя запись не полностью целочисленна, я получаю ошибку – user2272747

+0

Я считаю, что мне нужно использовать какую-то команду «trim command sql», чтобы решить эту проблему, я просто не знаю, как .. – user2272747

+1

@ user2272747: Попробуйте следующее: выберите PARTICULARS from table_name по порядку IsNumeric (PARTICULARS), когда 1 затем Replicate ('0', 100 - Len (35)) + PARTICULARS else PARTICULARS end – SenthilPrabhu