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




MySQL.RU - Webboard



Вернуться
Рекурсия в поиске количества букв (Студент) 30/09/2005 - 09:06:57
      Re: Рекурсия в поиске количества букв (Dinky) 30/09/2005 - 20:49:01
      Re: Рекурсия в поиске количества букв (Студент) 30/09/2005 - 21:33:10
      Re: Рекурсия в поиске количества букв (Dinky) 30/09/2005 - 22:46:33
      Re: Рекурсия в поиске количества букв (isms.ru) 30/09/2005 - 23:03:01
      Re: нифига! даешь function на "чистом" mysql! (Dinky) 30/09/2005 - 23:50:20
      Re: Ещё один вариант нерекурсива.Ошибка? (Студент) 01/10/2005 - 12:37:46
      Re: Ещё один вариант нерекурсива.Ошибка? (Dinky) 02/10/2005 - 03:48:48
      Re: Ещё один вариант нерекурсива.Ошибка? (Студент) 02/10/2005 - 19:43:41
      Re: Ещё один вариант нерекурсива.Ошибка? (Dinky) 03/10/2005 - 02:53:24
      Re: Ещё один вариант нерекурсива.Ошибка? (Студент) 03/10/2005 - 16:15:46

> Original message text:
> From: Студент - 30/09/2005 - 09:06:57
> Subject:Рекурсия в поиске количества букв
> -----------------
> Доброго времени суток, дамы и господа.
> Будьте добры, помогите справиться с подсчётом количества вхождений подстроки(можно, хотя бы символа) в строку.
> Рекурсивно - это вообще элементарно, но рекурсия сейчас отсутствует: http://bugs.mysql.com/11394
> Оговорюсь, что пишется под Делфи, потому yb PHP - ни С-API не пожет... А можно ли в "чистом" MySQL устроить цикл?
> Или, может, есть какие другие соображения? Буду очень благодарен :)
>


From: Dinky - 30/09/2005 - 23:50:20
Subject:нифига! даешь function на "чистом" mysql!
-----------------
все можно довести до абсолюта или абсолютного маразма! ;)
нате вам сабж:

mysql> delimiter |
mysql> create function mycount(hay varchar(10), needle varchar(10))
-> returns int
-> begin
-> set @num=0;
-> set @pos=0;
-> repeat
-> set @pos=locate(needle,hay,@pos+1);
-> if @pos>0 then set @num=@num+1; end if;
-> until @pos=0 end repeat;
-> return @num;
-> end;
-> |
Query OK, 0 rows affected (0.03 sec)

mysql> select mycount('blablablablabla','bla'); |
+----------------------------------+
| mycount('blablablablabla','bla') |
+----------------------------------+
| 5 |
+----------------------------------+
1 row in set (0.00 sec)

mysql> select mycount('blablablablabla','abla'); |
+-----------------------------------+
| mycount('blablablablabla','abla') |
+-----------------------------------+
| 4 |
+-----------------------------------+
1 row in set (0.00 sec)

--
Dmitry



[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
24269



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