|
MySQL.RU - Webboard
Вернуться
Сортировка varchar как чисел (Yury) 08/11/2006 - 16:19:24
Re: Сортировка varchar как чисел (Yury) 09/11/2006 - 10:28:48
Re: Сортировка varchar как чисел (Yury) 09/11/2006 - 11:19:19
> Original message text:
> From: Yury - 08/11/2006 - 16:19:24
> Subject:Сортировка varchar как чисел
> -----------------
> Люди подскажите пожалуйста что можно придумать:
> имеется mysql 5 таблица с полем varchar нужно содержащая приблизительно следующее
> 1.1
> 1.2
> 1.2.1
> 1.2.10
> 1.2.2
> необходимо придумать что - нибудь чтобы это выглядело вот так:
> 1.1
> 1.2
> 1.2.1
> 1.2.2
> 1.2.10
> перерыл почти все что мог, может кто сталкивался с такой проблемой
>
From: Yury - 09/11/2006 - 10:28:48
Subject:Сортировка varchar как чисел
-----------------
все спасибо разобрался
сделал так
CREATE FUNCTION `substr_count`(s VARCHAR(20), str VARCHAR(255) ) RETURNS int(11)
BEGIN
DECLARE cou INTEGER;
DECLARE pos INTEGER;
SET cou=0;
SET pos=0;
WHILE str <>'' DO
SET pos=LOCATE(s,str);
IF pos=0 THEN
SET str='';
END IF;
SET str=SUBSTRING(str,pos+1);
IF pos > 0 THEN
SET cou=cou+1;
END IF;
END WHILE;
RETURN cou;
END - хранимая функция количества вхождений подстроки в строку
а затем
SELECT outlinenum, (0+REPLACE(outlinenum,'.',''))*POWER(10,9-LENGTH(substr_count('.',outlinenum))) sortby
FROM table1
ORDER BY sortby
может кому пригодится :)
[Это сообщение - спам!]
Последние сообщения из форума
Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
30055
|
|