0

さて、これがストーリーです。私がやろうとしている非常に単純なクエリがあり、私の人生の間、なぜそれが機能しないのか理解できません。

ストリーミングTwitterフィードを使用して、キーワードを使用してデータベースにデータを入力しています。このクエリを使用してリツイートを除外したい

select * from earthquake
where earthquake.Text not like '%RT%'
order by earthquake.Text 

「影響を受けた0行、見つかった0行」が返され、はい、何千ものリツイートがあるので、それらが存在することはわかっています。

'%@%'を使用して同じクエリを実行すると、期待どおりに数千が検出されます。'RT'を除くすべてが機能しているようです。

4

2 に答える 2

0

やってみましたNOT LIKE '%RT @%'か?
一般的な単語xxxrtxxxが常にテキストフィールドに含まれている可能性はありますか?

于 2012-08-17T01:03:16.300 に答える
0

特に mysql については何も知りませんが、MSSQL の PatIndex() のような、嫌いな代わりに使用できる関数はありますか?

または、次のようなことを試すこともできます: (データベースがこの構文をサポートしているかどうかはわかりません)

SELECT * FROM Earthquake
WHERE CASE WHEN Text LIKE '%RT%' THEN 1 ELSE 0 END = 0
ORDER BY Text

また、テキスト列のどこかで「RT」を探すロジックをチェックして、不要なものを特定することをお勧めします。

于 2012-08-17T05:14:27.800 に答える