1

文字列フィールドを持つテーブルがあり、「-」を含む最初の単語を抽出したい

フィールドに「だから私はこの単語を取得したい」が含まれている場合、「これは」を返します

4

2 に答える 2

2

基本的な答えは、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;
于 2012-05-25T15:51:51.567 に答える
0

最も簡単な方法は、句読点を含む単語を「バックティック」で囲むことです。

「だから、`th-is` 単語を取得したい」は、「だから、これは単語を取得したい」を生成します。

于 2012-05-25T15:52:28.140 に答える