Как выбрать первую букву каждого слова из табличной ячейки в MySQL?
-
25-10-2019 - |
Вопрос
Как я могу выбрать первую букву каждого слова в MySQL, используя запрос?
Итак, эта таблица
+----+----------------------------+
| id | str |
+----+----------------------------+
| 1 | Hello my name is MCEmperor |
| 2 | How are you doing? |
+----+----------------------------+
вернется
+----+----------------------------+
| id | str |
+----+----------------------------+
| 1 | HmniM |
| 2 | Hayd |
+----+----------------------------+
Я думаю, это что -то с SUBSTRING
а также LOCATE
И, может быть, мне нужен петля (чтобы найти все места или что -то в этом роде) ...
Возможно ли в пределах запроса? Как мне это сделать?
Решение
Может, вы могли бы просто расколоть космос? Используйте этот сохраненный Proc: http://forums.mysql.com/read.php?60,78776,148332#msg-148332
Затем вы можете получить первые буквы каждого слова и использовать Group_concat в группе от ID, чтобы положить буквы обратно в одну строку на начальный текст.
Другие советы
То, что вы ищете, это WHERE
пункт, который соответствует только частью данных в ячейке. Вы можете сделать это так:
SELECT str
from (table name)
WHERE str LIKE 'H%'
Не связан с StackOverflow