¿Cómo seleccionar la primera letra de cada palabra de una celda de tabla en MySQL?

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

  •  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?

¿Fue útil?

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%'
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top