如何使用查询选择MySQL中每个单词的第一个字母?
所以这个表
+----+----------------------------+
| id | str |
+----+----------------------------+
| 1 | Hello my name is MCEmperor |
| 2 | How are you doing? |
+----+----------------------------+
将返回
+----+----------------------------+
| id | str |
+----+----------------------------+
| 1 | HmniM |
| 2 | Hayd |
+----+----------------------------+
我想这是SUBSTRING
和LOCATE
的问题,也许我需要一个循环(找到所有空格或东西)......
在查询中是否可以?我该怎么做?
答案 0 :(得分:1)
也许你可以简单地按空间划分?使用此存储过程:http://forums.mysql.com/read.php?60,78776,148332#msg-148332
然后,您可以检索每个单词的第一个字母,并在GROUP BY Id中使用GROUP_CONCAT将每个初始文本的字母放回一行。
答案 1 :(得分:1)
您正在寻找的是WHERE
子句,它只匹配单元格中的部分数据。你可以这样做:
SELECT str
from (table name)
WHERE str LIKE 'H%'