2011-03-03 17 views
7

Supongamos que tengo el siguiente campo:¿Es posible eliminar todo después de un 'espacio' en el campo MySQL?

'sub nombre _blah'

puedo deshacerme de los espacios al aire libre con la función TRIM(), pero en realidad estoy buscando para eliminar todo después de que el primer espacio (después del recorte).

manera:

'sub nombre _blah' se convertiría en 'nombre'

Sé que esto es posible en PHP, pero estoy tratando de hacer en una llamada de sólo MySQL. ¿Hay alguna función que no sepa para esto?

Gracias!

+0

Se agregó una etiqueta de 'manipulación de cadena' para ayudar a otros a encontrar esto. – phooji

Respuesta

23
select substring_index('name sub _blah',' ',1) 
+0

Gracias. Le daré crédito desde que fue el primero – JM4

+0

+1 Por la misma respuesta, pero 30 segundos antes. Bien jugado, nick :) – phooji

+0

Hola phooji. + 1 incluso para usted;) –

4

Prueba esto:

SUBSTRING_INDEX(str,' ', 1) 

O, si todavía necesita TRIM así:

SUBSTRING_INDEX(TRIM(str),' ', 1) 

Véase, por ejemplo here para documentación adicional.

+0

gracias por la respuesta. Aprecio los enlaces adicionales también – JM4

+0

@ JM4: No hay problema. – phooji

Cuestiones relacionadas