私は問題を抱えています。単純なクエリを使用して列(VARCHAR)から検索し、データベースから+1文字列を追加しています。MySQL - 見つかったものから残りの文字列を取得
My name is SOMEONE.
Have a great day.
It's possible.
Mouse on the way.
My mouse is on other way.
Is there any mouse?
、ユーザーがキーワードmouse
を盗んたい:
table
次の値(
title
)に持っていた場合。
私は彼が上の値から次のように出力したい:ユーザー種類Mouse on
はそれがデータベースから見つかったもの(もしあれば)に1つの文字列を付加し、その上 Mouse on the
を返し、なければならない場合も
Mouse on
mouse is
mouse?
。
私はデータベースの外でそれを行うことができましたが、文字列DISTINCT値を制限付きで取得した後に必要です。
今のところ私はSUBSTRING_INDEX(title , ' ', ".$totalWords.")
を使用しました。ここで、$ totalWordsはユーザーが自分のプログラムに送信したユーザーです。私のクエリで
問題は、あなたがother
を入力したときにそれを見つけると返されました: My mouse
が、それは私が欲しいものではありません、私は見つかった文字列+1 APPENDからそれへの出力をしたいので、それはother way
だろうもし私私はそれをより良く説明するために最善を尽くします。
ありがとうございます。
私はこれに答えるようになりましたが、そこにいくつの厄介なエッジケースがあるのか分かりました。たとえば、 'mouse'という単語が文中の最後の単語になることがあります。この場合、次の単語はなく、句読点(' .'、 '?'、 '!'など)を探します。しかし、文字列の途中で 'mouse'が発生した場合、次の単語の終わりを示すスペースを探しています。 –
MySQLは正規表現のサポートが貧弱です。もし私があなただったら私のアプリケーション層でこれを扱うかもしれません。 –
データベースでこれを行うためのすてきで速い機能を知らない人なら、私は最後にアプリを通してやるでしょう...提案ありがとう! :) – Ultrazz008