2016-10-02 4 views
0

私はのようなの文を使用しています:%word%しかし、それは他の単語の中にある単語にもマッチします。SQL個別の単語に一致しますか?

残りの文字とは別の単語をこのような文字列でどのように一致させることができますか?私は、これらの文字列にマッチWORD1をしたい:

単語1ワード2ワード3

WORD2 単語1ワード3

ワード2ワード3 単語1

そして、これが一致しない:word2word1

+1

[LIKEで単語全体を一致させるか?](http://stackoverflow.com/questions/6283767/match-only-entire-words-with-like) – Turtle

答えて

1

主なアイデアは次のとおりです。 eも。

col LIKE '% doc %' OR col LIKE '% doc' OR col LIKE 'doc %' OR col = 'doc' 
+0

ありがとうしかし、私はそれが他の言語でもその言葉の出現と一致するのではないかと恐れています!おそらくそれのための定期的な拡張子はありますか? 100%一致しない場合はスキップしますか? – letsforum

+0

@letsforum申し訳ありませんが、あなたにフォローできません。あなたは何を意味するのか説明していただけますか? – Turtle

+0

申し訳ありません。私はこれを使用している場合:col LIKE '%doc%' OR col LIKE '%doc' OR col 'LIKE' doc% 'OR col =' doc 'これは単語全体を100%一致させ、その単語の一致をスキップしますその他? LIKE '%doc'は、一致する単語で始まる単語を返します。 – letsforum

0

汎用のSQLでこれを行うための最も簡単な方法は、このようなものです:文字列の連結のためのオペレータは、データベース間で変動し得ること

where ' ' || col || ' ' like '% word1 %' 

注意。

0


こんにちは、
あなたは正確に

WHERE column_name = INSTR(column_name,'word') 

INSTR必要な文字列を取得するためにINSTR機能を使用することができます - Instring関数は関数内で提供さの文字列にマッチします。この関数は、同じような演算子を使用するのではなく、必要な結果を提供します。同様の演算子は、可能なすべての組み合わせを検索し、INSTR関数に比べて時間がかかります。パフォーマンスを向上させるためにINSTR関数を使用することができます

+0

あなたはそれを持っています –

関連する問題