Comment diviser la chaîne de nom dans mysql?
Par exemple:
name
-----
Sachin ramesh tendulkar
Rahul dravid
Divisez le nom comme firstname,middlename,lastname
:
firstname middlename lastname
--------- ------------ ------------
sachin ramesh tendulkar
rahul dravid
Réponses:
J'ai séparé cette réponse en deux (2) méthodes. La première méthode séparera votre champ de nom complet en prénom, deuxième et nom de famille. Le deuxième prénom s'affichera comme NULL s'il n'y a pas de deuxième prénom.
Cette deuxième méthode considère le deuxième prénom comme faisant partie du nom de famille. Nous ne sélectionnerons qu'une colonne de prénom et de nom dans votre champ de nom complet.
Il y a un tas de choses intéressantes que vous pouvez faire avec substr, Locate, substring_index, etc. Vérifiez le manuel pour une certaine confusion. http://dev.mysql.com/doc/refman/5.0/en/string-functions.html
la source
Eh bien, rien de ce que j'ai utilisé n'a fonctionné, alors j'ai décidé de créer une véritable fonction de fractionnement simple, j'espère que cela aide:
la source
Voici la fonction de fractionnement que j'utilise:
la source
Il n'y a pas de fonction de division de chaîne dans MySQL. vous devez donc créer votre propre fonction. Cela vous aidera. Plus de détails sur ce lien .
Fonction:
Usage:
Exemple:
la source
Vous pouvez également utiliser bewlo one:
la source
la source
Pour obtenir le reste de la chaîne après la deuxième instance du délimiteur d'espace
la source
Expliquer:
Trouver le prénom et le nom sont faciles, il vous suffit d'utiliser la fonction SUBSTR_INDEX La magie se produit dans le nom intermédiaire, où a été utilisé SUBSTR avec Locate pour trouver la première position d'espace et la LONGUEUR du nom complet - (LENGTH prénom + LENGTH nom) pour obtenir tout le nom intermédiaire.
Notez que LENGTH du prénom et du nom ont été calculés à l'aide de SUBSTR_INDEX
la source
la source
1.Exécutez cette fonction dans mysql. 2. cela créera une fonction. Vous pouvez maintenant utiliser cette fonction où vous le souhaitez.
3. Le premier paramètre getNameInitails ci-dessus est la chaîne que vous souhaitez filtrer et le second est le caractère spectateur sur lequel vous souhaitez séparer votre chaîne. 4. Dans l'exemple ci-dessus 'Kaleem Ul Hassan' est le nom et je veux obtenir les initiales et mon séparateur est l'espace ''.
la source
Nous avons stocké la valeur du nom du cours et du nom du chapitre dans une seule colonne ChapterName.
Valeur stockée comme: "JAVA: Polymorphisme"
vous devez récupérer CourseName: JAVA et ChapterName: Polymorphism
Vous trouverez ci-dessous la requête de sélection SQL à récupérer.
S'il vous plaît laissez-moi savoir si vous avez des questions à ce sujet.
la source
Pour obtenir le reste de la chaîne après la deuxième instance du délimiteur d'espace:
la source
Vous pouvez utiliser le common_schema et utiliser la
tokenize
fonction. Pour plus d'informations à ce sujet, suivez les liens. Votre code finirait comme:call tokenize(name, ' ');
Cependant, sachez qu'un espace n'est pas un séparateur fiable pour le prénom et le nom. Par exemple, en Espagne, il est courant d'avoir deux noms de famille.
la source
la source
Créez d'abord la procédure comme ci-dessous:
Après cela, créez la procédure comme ci-dessous:
Comment appeler le test
la source
Combiné quelques réponses ici pour créer un SP qui renvoie les parties de la chaîne.
la source