Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.11.28;
Скачать: [xml.tar.bz2];

Вниз

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

 
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 вся ветка

Форум: "Базы";
Текущий архив: 2002.11.28;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.006 c
3-92826
Oleon
2002-11-06 15:20
2002.11.28
Здраствуйте. Где ловить ошибки при работе с TStroredProc?


6-93163
Term
2002-10-02 12:20
2002.11.28
сети


1-93014
iNew
2002-11-18 08:54
2002.11.28
Как на Canvas формы вывести разноцветную линию используя


1-93042
Adrian_Copil_Minune
2002-11-19 12:26
2002.11.28
Где баг???


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





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский