2012-02-12 7 views
0

mysqlに格納されている文字の一部を検索クエリに表示させることはできますか?Mysqlの検索から文字を除外する

もちろん、私はアプリケーションでこれを行うことができますが、これに対してmysqlに設定オプションがいくつかありますか?

+1

質問がわかりません。もっと詳しく説明できますか? – perelman

+0

たとえば、いくつかの値に "@"が含まれている文字列フィールドがあります。 "... WHERE StringField = '%@%' ..."を検索すると、この文字が見えないことをmysqlに伝えることはできますか?私にとっては、これは二重の安全性を排除するものです。 – mha

答えて

1

私はあなたが欲しいものを追いかけているとはまだ分かりません。

SELECT * FROM `table` WHERE REPLACE(string_field, "@", "") = "user query" 

のようなクエリのように聞こえるかもしれません。

REPLACEを参照してください。より複雑なマッチングの場合は、regular expressionsもありますが、それはおそらくあなたが記述しているもののほうが面倒です。

編集:ちょうどあなたのコメントを見ました。あなたのシステムにとって特別なので、ユーザのクエリから特定の文字をブラックリストに載せたいと思うように思えます。いいえ、それをする方法はありません。どこかで、文字列置換操作でそれらの文字を削除したいと思っています。アプリケーションまたはストアド・プロシージャ/ファンクションのいずれかに配置して、データベースに格納します。

+0

私はデータベースレベルで必要なので、ああ、ストアドプロシージャは、問題を解決するだろう。どうも – mha

関連する問題