11 Vote

MySQL: Obtenir le premier Mot d'une Colonne

Question de Invité | 01/11/2020 à 15:59

Je recherche une requête MySQL ou une fonction correspondante, qui lit le premier mot d'un champ d'une colonne.

Par exemple, si le texte dans un champ est "Marry vient d'Europe", la chaîne "Marry" devrait être le résultat MySQL. Si c'est possible, je ne veux pas utiliser PHP pour cela.

RépondrePositifNégatif
Avatar
1Meilleure Réponse1 Vote

Ce que vous recherchez, c'est la fonction MySQL SUBSTRING_INDEX(), qui peut être utilisée de la manière suivante:

SELECT SUBSTRING_INDEX(col, ' ', 1) FROM tab WHERE ...

La fonction attend 3 paramètres:

  • Une chaîne / string ou le nom de la colonne (dans ce cas "col"), qui doit être lu.
  • Le caractère auquel la chaîne doit être coupée. Parce que vous recherchez le premier mot, ce caractère est un espace ' '.
  • Le nombre d'occurences du caractère. Parce que vous voulez couper au premier mot, nous coupons à la première occurrence de ' ' et nous écrivons '1' ici. Si vous vouliez lire les deux premiers mots, vous deviez écrire '2' ici, car nous devions couper à la deuxième occurrence de l'espace.

Cet exemple lit les caractères à gauche de la position de l'espace. Si vous voulez lire les caractères debout à droite de la position de l'espace, vous devez rendre le nombre négatif.
01/11/2020 à 19:06

RépondrePositif Négatif
Répondre

Sujets Connexes

Avis Important

Veuillez noter: Les contributions publiées sur askingbox.com sont des contributions d’utilisateurs et ne doivent pas remplacer les conseils d’un professionnel. Ils ne sont pas vérifiés par des indépendants et ne reflètent pas nécessairement l’opinion de askingbox.com. Apprendre encore plus.

Participer

Posez votre propre question ou écrivez votre propre article sur askingbox.com. Voici comment.