¿Cómo seleccionar la primera letra de cada palabra de una celda de tabla en MySQL?
-
25-10-2019 - |
Pregunta
¿Cómo puedo seleccionar la primera letra de cada palabra en mysql usando una consulta?
Entonces esta mesa
+----+----------------------------+
| id | str |
+----+----------------------------+
| 1 | Hello my name is MCEmperor |
| 2 | How are you doing? |
+----+----------------------------+
volvería
+----+----------------------------+
| id | str |
+----+----------------------------+
| 1 | HmniM |
| 2 | Hayd |
+----+----------------------------+
Supongo que es algo con SUBSTRING
y LOCATE
Y tal vez necesito un bucle (para encontrar todos los espacios o algo) ...
¿Es posible dentro de una consulta? ¿Cómo debo hacer eso?
Solución
¿Quizás podrías simplemente dividir por espacio? Use este proceso almacenado: http://forums.mysql.com/read.php?60,78776,148332#MSG-148332
Luego puede recuperar las primeras letras de cada palabra y usar Group_concat en un grupo por ID para volver a colocar las letras en una línea por texto inicial.
Otros consejos
Lo que estás buscando es un WHERE
cláusula que coincide solo una parte de los datos en la celda. Puedes hacer eso como así:
SELECT str
from (table name)
WHERE str LIKE 'H%'