¿Cómo dividir la cadena de nombre en mysql?
P.ej:
name
-----
Sachin ramesh tendulkar
Rahul dravid
Divide el nombre como firstname,middlename,lastname
:
firstname middlename lastname
--------- ------------ ------------
sachin ramesh tendulkar
rahul dravid
Respuestas:
He separado esta respuesta en dos (2) métodos. El primer método separará su campo de nombre completo en nombre, segundo nombre y apellido. El segundo nombre se mostrará como NULL si no hay segundo nombre.
Este segundo método considera el segundo nombre como parte del apellido. Solo seleccionaremos una columna de nombre y apellido de su campo de nombre completo.
Hay un montón de cosas interesantes que puede hacer con substr, Locate, substring_index, etc. Consulte el manual para ver si hay alguna confusión real. http://dev.mysql.com/doc/refman/5.0/en/string-functions.html
fuente
Bueno, nada de lo que usé funcionó, así que decidí crear una función de división realmente simple, espero que ayude:
fuente
Aquí está la función de división que uso:
fuente
No hay una función de división de cadenas en MySQL. entonces tienes que crear tu propia función. Esto te ayudara. Más detalles en este enlace .
Función:
Uso:
Ejemplo:
fuente
También puedes usar bewlo one:
fuente
fuente
Para obtener el resto de la cadena después de la segunda instancia del delimitador de espacio
fuente
Explicando:
Encontrar el nombre y el apellido es fácil, solo tiene que usar la función SUBSTR_INDEX La magia ocurre en el segundo nombre, donde se usó SUBSTR con Localizar para encontrar la posición del primer espacio y la LONGITUD del nombre completo - (LENGTH nombre + LENGTH apellido) para obtener todo el segundo nombre.
Tenga en cuenta que la LONGITUD del nombre y el apellido se calcularon utilizando SUBSTR_INDEX
fuente
fuente
1.Ejecute esta función en mysql. 2. esto creará una función. Ahora puede utilizar esta función en cualquier lugar que desee.
3. El primer parámetro de getNameInitails anterior es la cadena que desea filtrar y el segundo es el carácter del espectador en el que desea separar su cadena. 4. En el ejemplo anterior, 'Kaleem Ul Hassan' es el nombre y quiero obtener iniciales y mi separador es el espacio ''.
fuente
Hemos almacenado el valor del nombre del curso y el nombre del capítulo en una sola columna ChapterName.
Valor almacenado como: "JAVA: polimorfismo"
necesitas recuperar CourseName: JAVA y ChapterName: Polymorphism
A continuación se muestra la consulta de selección de SQL para recuperar.
Por favor, avíseme si tiene alguna pregunta al respecto.
fuente
Para obtener el resto de la cadena después de la segunda instancia del delimitador de espacio:
fuente
Puede usar common_schema y usar la
tokenize
función. Para obtener más información sobre esto, siga los enlaces. Su código terminaría como:call tokenize(name, ' ');
Sin embargo, tenga en cuenta que un espacio no es un separador confiable para el nombre y el apellido. Por ejemplo, en España es común tener dos apellidos.
fuente
fuente
Primero cree el procedimiento de la siguiente manera:
Después de eso, cree el procedimiento de la siguiente manera:
Cómo llamar a prueba
fuente
Aquí se combinan algunas respuestas para crear un SP que devuelve las partes de la cadena.
fuente