Как выбрать первую букву каждого слова из ячейки таблицы в MySQL? - PullRequest
1 голос
/ 29 ноября 2011

Как я могу выбрать первую букву каждого слова в MySQL, используя запрос?

Итак, этот стол

+----+----------------------------+
| id | str                        |
+----+----------------------------+
|  1 | Hello my name is MCEmperor |
|  2 | How are you doing?         |
+----+----------------------------+

вернется

+----+----------------------------+
| id | str                        |
+----+----------------------------+
|  1 | HmniM                      |
|  2 | Hayd                       |
+----+----------------------------+

Я предполагаю, что это что-то с SUBSTRING и LOCATE и, возможно, мне нужен цикл (чтобы найти все пробелы или что-то) ...

Возможно ли это в запросе? Как мне это сделать?

Ответы [ 2 ]

1 голос
/ 09 марта 2012

То, что вы ищете, это предложение WHERE, которое соответствует только части данных в ячейке.Вы можете сделать это так:

SELECT str 
from (table name) 
WHERE str LIKE 'H%'
1 голос
/ 29 ноября 2011

Может быть, вы могли бы просто разделить по пробелам? Используйте этот сохраненный процесс: http://forums.mysql.com/read.php?60,78776,148332#msg-148332

Затем вы можете извлечь первые буквы каждого слова и использовать GROUP_CONCAT в идентификаторе GROUP BY, чтобы поместить буквы обратно в одну строку для исходного текста.

...