Вниз
Скачать: 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.014 c
1-93107
doublebug
2002-11-15 12:11
2002.11.28
COM и IGlobalInterfaceTable


14-93252
Simeon
2002-11-10 06:24
2002.11.28
Привет


1-93130
kloksus
2002-11-17 14:48
2002.11.28
работа с реестром


3-92945
BSD
2002-11-12 11:21
2002.11.28
Проблема с VCLIB50.bpl


6-93165
Slice
2002-10-03 13:35
2002.11.28
Как соксифицировать свою программу?




   Наверх