2017-08-29 10 views
-3

は、だから私は、または「UNROOT」「根ざし」という言葉を使って自分のデータベースからの言葉「ROOT」を検索したいです。SQLiteで "逆" LIKE操作を実行できますか?

私は私がデータベースに「OOT」または「ROO」を持っているので、もし逆の操作を行いたい私は

SELECT Word FROM tblWordList WHERE Keywords LIKE '%ROOT%' 

この通常のような操作を実行したいのと誤解ないよ願っています「ROOTED」と入力すると検索されます。

キーワード「列」に実際にROOとOOTという言葉があります。しかし、SAM、MOON、RIPなどの言葉もあります。今度は、Wordの列でValueを検索するか、ROOTEDの部分文字列が現れた行のIDだけを指定します。この場合、私はROOとOOTの行のIDを返す必要があります。

アンドロイド+ sqliteのコードは素晴らしいですが、操作のコマンドさえ本当に大きな助けになるでしょう。

+3

これは "反対"ではない、あなたは明確になることができますか? – kenfire

+0

列には* ROO'/'OOT'のみが含まれていますか? – Kayaman

+0

SQL演算子「LIKE」がどのように機能するかを調べる必要があります。 –

答えて

1
SELECT Word FROM tblWordList WHERE Keywords LIKE '%ROO%' OR Keywords LIKE '%OOT%' 

あなたが使用したいという検索語(ROOTED)の特定のどのサブセットを決定するために、独自のアルゴリズムを考え出す必要があります。

+0

キーワード「キーワード」に「ROO」と「OOT」という言葉があります。しかし、SAM、MOON、RIPなどの言葉もあります。今度は、Wordの列でValueを検索するか、ROOTEDの部分文字列が現れた行のIDだけを指定します。この場合、私はROOとOOTの行のIDを返す必要があります。 –

+0

@McDuran:私が書いたように、あなたは、あなたが使いたい検索用語(ROOTED)の特定のサブセットを決定するために独自のアルゴリズムを考え出す必要があります。あなたが探しているもののためのSQL演算子はありません。 – CommonsWare

0

あなたが値OOTROOTEDを一致させたい場合には、これらの特定の値を持つLIKEは、次のようになります。最初の1が一定値であり、2つ目は、から来ているのであれば

'ROOTED' LIKE '%OOT%' 

データベース、ちょうどそのように書く:

SELECT ... WHERE 'ROOTED' LIKE '%' || Keywords || '%'; 
+0

答えを詳しく教えてください: このコマンドを使用しようとしました: tblInformationからのSELECT ID WHERE 'tommen' LIKE '%' ||キーワード|| '%'; サブストリング 'tommen'が存在するキーワード(tommening、tommens、stommeny)に3つの行がある場合でも、結果は0です。 実際に達成したいのは、クエリを実行したときに 'tom'や 'men'や 'mme'の行など、 'tommen'の部分文字列を含む行でも表示されます。 –

+0

これはあなたがquesionで尋ねたものではありません。空の文字列も部分文字列であるため、説明がすべての行と一致することに注意してください。 –

+0

私が不明な場合は申し訳ありません。私は本当に英語で説明することが難しいと思う。私はあなたが空文字列について言ったことは真実であることに気付きました。しかし、それでも、これを実行し、一致が空の文字列だけの場合は結果をフィルタリングする方法はありますか? –

関連する問題