Вниз
Скачать: 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.016 c
3-92874
Dbrf
2002-11-10 13:51
2002.11.28
Присвоение значения части даты


14-93226
vajo
2002-11-10 13:18
2002.11.28
DNS


14-93209
Anar
2002-11-08 19:18
2002.11.28
Работа с архивами


1-93144
Анастасия
2002-11-17 11:12
2002.11.28
Синхронизация работы 2-x Memo


1-92971
Южанин
2002-11-15 14:25
2002.11.28
не работает стандартная функция LeftStr() и RightStr()




   Наверх