Sau đây là một giải pháp được đề xuất cho OP's cụ thể vấn đề (trích xuất từ thứ 2 của một chuỗi), nhưng cần lưu ý rằng, như câu trả lời của mc0e nêu rõ, việc trích xuất các kết quả phù hợp regex thực sự không được hỗ trợ trong MySQL. Nếu bạn thực sự cần điều này, thì lựa chọn của bạn về cơ bản là 1) thực hiện nó trong quá trình xử lý hậu kỳ trên máy khách hoặc 2) cài đặt một tiện ích mở rộng MySQL để hỗ trợ nó.
BenWells có nó gần như chính xác. Làm việc từ mã của anh ấy, đây là một phiên bản được điều chỉnh một chút:
SUBSTRING(
sentence,
LOCATE(' ', sentence) + CHAR_LENGTH(' '),
LOCATE(' ', sentence,
( LOCATE(' ', sentence) + 1 ) - ( LOCATE(' ', sentence) + CHAR_LENGTH(' ') )
)
Như một ví dụ làm việc, tôi đã sử dụng:
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
Điều này trích xuất thành công từ IS