как взять из текста первые n слов. возможно ли это сделать sql запросом?
Спустя 13 минут, 42 секунды (8.07.2009 - 12:29) twin написал(а):
Вот 10 первых слов:
SQL |
SUBSTRING_INDEX(`text`,' ',10) AS `text` |
Спустя 28 минут, 7 секунд (8.07.2009 - 12:57) sergeiss написал(а):
olgatcpip - ты, вроде бы, Посгре используешь? Там можно ведь и регулярные выражения использовать прямо в запросе (а заодно это и камень в огород ярых любителей MySQL ).
Сам запрос (точный синтаксис) я не могу подсказать, тут думать надо Но используются "стандартные" POSIX регулярные выражения - это точно.
Сам запрос (точный синтаксис) я не могу подсказать, тут думать надо Но используются "стандартные" POSIX регулярные выражения - это точно.
Спустя 6 минут, 28 секунд (8.07.2009 - 13:04) twin написал(а):
Во первых тут не нужно никаких регулярок.
А во вторых, кто тебе сказал, что в мускуле нельзя их использовать?
А во вторых, кто тебе сказал, что в мускуле нельзя их использовать?
Цитата |
(а заодно это и камень в огород ярых любителей MySQL ) |
Недолет.
Спустя 40 минут, 46 секунд (8.07.2009 - 13:45) olgatcpip написал(а):
SQL |
SUBSTRING_INDEX(`text`,' ',10) AS `text` |
в постгере не сработает?
мне просто интересно, я никогда не пользовалась таким и не знаю что написать в поисковике, чтобы примерчик мне выдал.
Вот и написала вам. Теперь примерно знаю как их (поисковиков) спросить поищу слово SUBSTRING (SUBSTRING_INDEX вроде нет постгресе). спасибо.
Цитата (sergeiss @ 8.07.2009 - 09:57) |
Сам запрос (точный синтаксис) я не могу подсказать, тут думать надо |
да.. регулярки это хорошо, но думать там надо, поэтому я их немного избегаю.
+ ни разу не пользовалась, скиньте ссылочку на описание, почитаю
Спустя 42 минуты, 47 секунд (8.07.2009 - 14:27) sergeiss написал(а):
Я тут немного "помедитировал"... Пришел вот к чему.
Если бы у меня была такая задача, то я сделал бы новую функцию, аналогичную substring_index, которой нету в Постгре.
Начинка у нее будет простая Берем regexp_split_to_table, получаем все слова из переменной, с разбивкой по пробелам. Из нужных слов (строк) формируем возвращаемую величину.
В хэлпе по этой функции приведен такой пример:
---
Some examples:
SELECT foo FROM regexp_split_to_table('the quick brown fox jumped over the lazy dog', E'\\\s+') AS foo;
foo
--------
the
quick
brown
fox
jumped
over
the
lazy
dog
(9 rows)
---
Если бы у меня была такая задача, то я сделал бы новую функцию, аналогичную substring_index, которой нету в Постгре.
Начинка у нее будет простая Берем regexp_split_to_table, получаем все слова из переменной, с разбивкой по пробелам. Из нужных слов (строк) формируем возвращаемую величину.
В хэлпе по этой функции приведен такой пример:
---
Some examples:
SELECT foo FROM regexp_split_to_table('the quick brown fox jumped over the lazy dog', E'\\\s+') AS foo;
foo
--------
the
quick
brown
fox
jumped
over
the
lazy
dog
(9 rows)
---
Спустя 4 часа, 13 минут, 7 секунд (8.07.2009 - 18:41) olgatcpip написал(а):
круууто
_____________
Ласковое слово и кошке приятно... Плюсик в карму сойдет wink.gif
*smarty дока - новая любовь
Моё рукотворение ругайте, хвалите smile.gif
Веду маленький блог
в этом блоге публикую новые работы
WMR217126627282 wink.gif