ホームページ >データベース >mysql チュートリアル >MySQL の REGEXP_REPLACE 関数はどのようにして列内の単語を正確にカウントできるのでしょうか?
問題ステートメント:
MySQL データベース内の単語数のカウント正規表現を使用した列の作成は一般的なタスクです。ただし、LENGTH(name) - LENGTH(REPLACE(name, ' ', '') 1 を使用する標準的なアプローチは、複数のスペースで単語が区切られている場合には不十分です。この質問では、より正確なために Regex.Replace 機能を活用する代替ソリューションについて詳しく掘り下げます。
解決策:
MySQL データベースは、 REGEXP_REPLACE 関数。ユーザー定義関数として使用できます。この関数は、必要な Regex.Replace 動作を提供します。このアプローチで単語をカウントするには、次のクエリを検討してください。
SELECT LENGTH(REGEXP_REPLACE(name, '\s+', ' ')) - LENGTH(REGEXP_REPLACE(name, '\s+', '') +1 FROM table
このクエリは複数のスペースを置換します。スペースを 1 つ使用すると、スペースが単語の区切り文字として効果的にカウントされます。
代替案考慮事項:
最適なパフォーマンスを得るには、データベースに二重空白が入らないようにすることをお勧めします。また、単語数が頻繁にアクセスされる場合は、単語数を 1 回計算してデータベースに保存すると、検索が速くなります。 .
以上がMySQL の REGEXP_REPLACE 関数はどのようにして列内の単語を正確にカウントできるのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。