文字列フィールドを持つテーブルがあり、「-」を含む最初の単語を抽出したい
フィールドに「だから私はこの単語を取得したい」が含まれている場合、「これは」を返します
基本的な答えは、Mysql にはこれを効率的に処理する文字列関数が組み込まれていないため、この応答を解析するためにアプリケーション コードに依存する必要があるということです。
別のオプションは、これを処理する独自の MySql 関数を作成することです。このリンクはチュートリアルとして機能する場合があります。
それ以外の場合は、必要な select ステートメントを次に示しますが、本番環境では使用しないと思います。
SELECT
CONCAT(
SUBSTRING_INDEX( SUBSTRING_INDEX( "so I want to get th-is word", '-', 1 ), ' ', -1 ),
'-',
SUBSTRING_INDEX( SUBSTRING_INDEX( "so I want to get th-is word", '-', -1 ), ' ', 1 )
) AS returnstring;
最も簡単な方法は、句読点を含む単語を「バックティック」で囲むことです。
「だから、`th-is` 単語を取得したい」は、「だから、これは単語を取得したい」を生成します。