Du vil bestemt bruge SUBSTRING_INDEX hvilket vil returnere et vist antal tegn, indtil et bestemt antal er opnået baseret på forekomsten af en afgrænsning. I dit tilfælde vil opkaldet se sådan ud:
SELECT SUBSTRING_INDEX(text_field, ' ', 6) FROM ...
Dette vil især returnere op til seks ord hvor vi definerer et ord som et sæt tegn, der ikke er mellemrum afgrænset af mellemrum.
Bemærk :dette vil returnere tegnsætning knyttet til det sidste ord, som måske eller måske ikke er ønsket. Det ville være simpelt nok at erstatte eventuelle tegnsætningstegn i halen af strengen i PHP, men hvis du vil forblive helt inden for SQL, tror jeg, du kan bruge TRIM . Syntaksen for det ville være noget som:
SELECT TRIM(TRAILING ',' FROM SUBSTRING_INDEX(text_field, ' ', 6)) FROM ...
Der er muligvis en bedre mulighed for at fjerne den efterfølgende tegnsætning – men det er måske et andet spørgsmål (jeg leder stadig efter en bedre løsning end TRIM).