Följande är ett förslag till lösning för OP:s specifika problem (extrahera det andra ordet i en sträng), men det bör noteras att, som mc0es svar anger, att faktiskt extrahera regex-matchningar inte stöds direkt i MySQL. Om du verkligen behöver detta, är dina val i princip att 1) göra det i efterbehandling på klienten, eller 2) installera ett MySQL-tillägg för att stödja det.
BenWells har det nästan korrekt. Arbetar från hans kod, här är en något justerad version:
SUBSTRING(
sentence,
LOCATE(' ', sentence) + CHAR_LENGTH(' '),
LOCATE(' ', sentence,
( LOCATE(' ', sentence) + 1 ) - ( LOCATE(' ', sentence) + CHAR_LENGTH(' ') )
)
Som ett fungerande exempel använde jag:
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
Detta extraherar framgångsrikt ordet IS