Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




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, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
30055



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |