Het volgende is een voorgestelde oplossing voor de specifieke probleem (extraheren van het 2e woord van een string), maar het moet worden opgemerkt dat, zoals het antwoord van mc0e aangeeft, het daadwerkelijk extraheren van regex-overeenkomsten niet out-of-the-box wordt ondersteund in MySQL. Als je dit echt nodig hebt, dan zijn je keuzes in principe om 1) het in nabewerking op de client te doen, of 2) een MySQL-extensie te installeren om dit te ondersteunen.
BenWells heeft het bijna juist. Werkend vanuit zijn code, hier is een licht aangepaste versie:
SUBSTRING(
sentence,
LOCATE(' ', sentence) + CHAR_LENGTH(' '),
LOCATE(' ', sentence,
( LOCATE(' ', sentence) + 1 ) - ( LOCATE(' ', sentence) + CHAR_LENGTH(' ') )
)
Als werkend voorbeeld gebruikte ik:
SELECT SUBSTRING(
sentence,
LOCATE(' ', sentence) + CHAR_LENGTH(' '),
LOCATE(' ', sentence,
( LOCATE(' ', sentence) + 1 ) - ( LOCATE(' ', sentence) + CHAR_LENGTH(' ') )
) as string
FROM (SELECT 'THIS IS A TEST' AS sentence) temp
Dit extraheert met succes het woord IS