2009-03-27 7 views
27

Je voudrais exécuter une requête qui renvoie le premier mot seulement d'un champ particulier, ce champ a plusieurs mots séparés par des espaces, je suppose que je dois effectuer un travail regex pour y parvenir? Je sais comment faire cela en utilisant PHP de différentes façons, mais cela devrait être fait du côté de la base de données. Des idées très appréciées. Merci.requête MySQL pour extraire le premier mot d'un champ

Répondre

17

Ici, vous allez :)

SELECT SUBSTRING_INDEX(`field` , ' ', 1) AS `field_first_word` 
FROM `your_table` 
2
SELECT 
    SUBSTR(field_name, 1, LOCATE(' ', field_name)) AS first_word 
FROM 
    table 
+0

Besoin d'ajouter un -1 ou vous obtenez un espace supplémentaire. –

2
select 
    substring(test_field, 1, instr(test_field, ' ')) 
from 
    test_table 
Questions connexes