87 votes

Obtenez tous les caractères avant l'espace dans MySQL

Je voudrais obtenir tous les caractères d'un champ avant un espace

Par exemple, si field1 est "chara ters"

Je veux qu'il renvoie "chara"

À quoi ressemblerait cette instruction select?

125voto

Mchl Points 32343

SELECT LEFT(field1,LOCATE(' ',field1) - 1)

Notez que si la chaîne en question ne contient aucun espace, cela renverra une chaîne vide.

11voto

soulmerge Points 37314

Vous auriez besoin de quelques opérations de chaîne pour cela. En supposant que chaque champ a au moins un caractère d'espace:

 SELECT SUBSTR(field1, 0, LOCATE(' ', field1)) FROM your_table;

Approche sûre:

 SELECT IF(
    LOCATE(' ', field1),
    SUBSTR(field1, 0, LOCATE(' ', field1)),
    field1
) FROM your_table;

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X