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

StackOverflow https://stackoverflow.com/questions/8313154

  •  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%'
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top