以下は、OPの特定のに対して提案されたソリューションです。 問題(文字列の2番目の単語を抽出する)ですが、mc0eの回答が述べているように、実際に正規表現の一致を抽出することは、MySQLではそのままではサポートされていないことに注意してください。これが本当に必要な場合は、基本的に1)クライアントで後処理を行うか、2)それをサポートするMySQL拡張機能をインストールするかを選択します。
BenWellsはそれをほぼ正しいとしています。彼のコードを基に、少し調整したバージョンを次に示します。
SUBSTRING(
sentence,
LOCATE(' ', sentence) + CHAR_LENGTH(' '),
LOCATE(' ', sentence,
( LOCATE(' ', sentence) + 1 ) - ( LOCATE(' ', sentence) + CHAR_LENGTH(' ') )
)
実例として、私は以下を使用しました:
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
これにより、IS
という単語が正常に抽出されます。