Consulta MySQL para extraer la primera palabra de un campo

2 minutos de lectura

avatar de usuario
Estuardo

Me gustaría ejecutar una consulta que devuelva la primera palabra solo de un campo en particular, este campo tiene varias palabras separadas por espacios, supongo que es posible que deba realizar algún trabajo de expresiones regulares para lograr esto. Sé cómo hacer esto usando algunas formas en PHP, pero sería mejor hacerlo en el lado de la base de datos. Cualquier idea muy apreciada. Gracias.

avatar de usuario
pingüino malvado

SUBSTRING_INDEX: http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_substring-index

SELECT SUBSTRING_INDEX(`name`, ' ', 1);

  • Usar SELECT SUBSTRING_INDEX(nombre, ' ', -1); para seleccionar la última palabra.

    –Stewart Macdonald

    14 de abril de 2017 a las 9:52

  • ¿Qué pasa con esos registros con una sola palabra y sin espacio?

    –Fariz Luqman

    27 de julio de 2020 a las 20:26

  • ¿Hay alguna manera de que podamos obtener la primera palabra independientemente?

    –Fariz Luqman

    3 de agosto de 2020 a las 21:09

  • Bueno, dijiste que el registro tiene solo una palabra y no tiene espacio, por lo que el “valor completo” significa esa palabra, en ese caso. No estoy seguro de lo que no está claro, solo adelante y pruébalo.

    – pingüino malvado

    8 de agosto de 2020 a las 18:26

Aquí tienes 🙂

SELECT SUBSTRING_INDEX( `field` , ' ', 1 ) AS `field_first_word`
FROM `your_table`

select 
    substring(test_field, 1, instr(test_field, ' ')) 
from 
    test_table

SELECT
  SUBSTR(field_name, 1, LOCATE(' ', field_name)) AS first_word
FROM
  table

Esta pieza de código puede hacer el truco

select regexp_substr("Héctor-99 Eduvijes Uribe Curiel", '[[:graph:]]*')`

Salida: Héctor-99

Esto es bastante similar a las otras respuestas, pero funciona de una manera diferente, ¡aquí puedes encontrar más información al respecto! https://dev.mysql.com/doc/refman/8.0/en/regexp.html

Otro opcional podría ser:

select regexp_substr("Some name", '[a-z]+')

Salida: Algunos

Dentro de los corchetes puedes poner lo que quieras, aprende algo de Regex y podrás hacer grandes cosas.

  • Si bien este enlace puede responder la pregunta, es mejor incluir las partes esenciales de la respuesta aquí y proporcionar el enlace como referencia. Las respuestas de solo enlace pueden dejar de ser válidas si la página enlazada cambia.

    – Emmanuel Ponnudurai

    4 de septiembre de 2021 a las 4:19

  • Si bien este enlace puede responder la pregunta, es mejor incluir las partes esenciales de la respuesta aquí y proporcionar el enlace como referencia. Las respuestas de solo enlace pueden dejar de ser válidas si la página enlazada cambia.

    – Emmanuel Ponnudurai

    4 de septiembre de 2021 a las 4:19

¿Ha sido útil esta solución?