Вниз
Скачать: CL | DM;

Как отсортировать данные???   Найти похожие ветки 

← →
Sirus ©   (2002-11-12 07:04) [0]

Привет Мастера...
Есть вопрос: Как можно отсортировать результат запроса по полю текстового типа ( VARCHAR)???
Есть поле типа VARCHAR там встречаются данные числового типа...
Так вот при сортировке типа ORDER BY FIELD получаю что-то типа ( 1, 10, 2, 25, 3, 4, 5, 51) и т.д. то есть цифры сортируются как строки... а мне нужна сортировка типа ( 1, 2, 3, 4, 5, 10, 25, 51)... Как можно организовать???


← →
Alexandr ©   (2002-11-12 07:32) [1]

select cast(tvoyvarchar as integer)
from....
order by 1


← →
VAleksey ©   (2002-11-12 07:57) [2]

если данные только "встречаются" то никак


← →
Sirus ©   (2002-11-12 08:28) [3]

Поле хранит данные квартир... тип VARCHAR(4)
ну в смыслу там встречаются данные типа 121 и 121А...
При использовании CAST ошибки будут???


← →
Andriano ©   (2002-11-12 08:35) [4]

Придётся добавлять незначущие нули перед числами (Это на стороне сервера). Или делать локальную сортировку на стороне клиента.


← →
Reindeer Moss Eater   (2002-11-12 08:40) [5]

Или написать UDF


← →
Sirus ©   (2002-11-12 11:47) [6]

>Reindeer Moss Eater (12.11.02 08:40)
>Или написать UDF

А как его написать и использовать??? Хотя бы как его использовать???


← →
Reindeer Moss Eater   (2002-11-12 11:49) [7]

http://www.ibase.ru/devinfo/udf_ok.htm


← →
Reindeer Moss Eater   (2002-11-12 11:59) [8]

function StrValue(sz: PChar):integer; cdecl; export;
var aStr:string; i:integer;
begin
aStr:=StrPas(sz);
for i:=Length(aStr) downto 1 do if not (aStr[i] in ["0".."9"]) then Delete(aStr,i,1);
Result:=StrToIntDef(aStr,0);
end;

Select StrValue(Поле_номера_Квартиры), T.* From MyTable T
Order By 1



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.009 c
3-92859
EDDI
2002-11-08 11:09
2002.11.28
Блокировка записи в PARADOX


1-92968
Mad_Ghost
2002-11-18 14:03
2002.11.28
Socket - как отослать сообщение одному юзверю?


1-93021
solder
2002-11-19 11:08
2002.11.28
help me please


3-92856
Andy78
2002-11-09 12:54
2002.11.28
Крайняя левая колонка DBGrid а


3-92941
Alexandr1
2002-11-06 10:11
2002.11.28
Фильтрация по дате (месяцу)




   Наверх