sql >> データベース >  >> RDS >> Mysql

MySQL文字列でn番目の単語を抽出し、単語の出現をカウントするにはどうすればよいですか?

    以下は、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という単語が正常に抽出されます。



    1. Flask、Connexion、SQLAlchemyを使用したPython REST API –パート2

    2. MySQLのINSERTまたはREPLACEコマンド

    3. XAMPPインストールでMySQLInnoDBストレージエンジンのサポートを有効にする

    4. VirtualBoxから仮想マシンを削除する方法