0

編集:追加の結果の理由がクエリの別の行にあることに気付きました! この質問を閉じるのに十分な担当者がいるとは思わないでください。

Lotus Notes DB を検索している既存の SQL コードを編集しています。

私はこの行を持っています:

@Contains(Title; "blah blah 1.5")

タイトルに指定された文字列を正確に含むレコードのみを返したいと思います。

現在、「何とか何とか1」を含むすべてのレコードを返すため、たとえば、「何とか何とか1.1」、「何とか何とか1.2」などを取得します.

私の推測では、「.」をエスケープする必要があります。しかし、方法がわかりません。

4

4 に答える 4

2

全文検索演算子を使用する代わりに、単に等しいかどうかをテストする必要があると思います。

WHERE Title = 'blah blah 1.5'
于 2009-02-16T15:34:19.717 に答える
0

100%確信はありませんが、解決策はあなたが望むフレーズを引用することだと思います。何かのようなもの:

@Contains(Title; "'blah blah' AND '1.5'")

少なくとも、それはMS SQL Serverに必要だと思います(ただし、構文はCONTAINS(Title、'"blah blah" AND "1.5"')になると思います)。

于 2009-02-16T15:45:22.127 に答える
0

あなたの例では、SQL クエリではなく Lotus Notes 検索式を実際に編集していると想定しています。CONTAINS 関数の SQL 形式では、パラメーターを区切るためにセミコロンを使用せず、関数名に @ 記号を使用しません。

その仮定に沿って、検索式を単純に Title = "blah blah 1.5" に変更すると、ビューまたは検索で、その正確なフレーズを含むタイトルを持つすべてのドキュメントが取得されます。

于 2009-02-17T15:12:09.420 に答える
0

Notes/Domino 式言語では、@Contains は単純な部分文字列比較を行うだけです。2 番目の引数が最初の引数の部分文字列 (または等しい) である場合は true (1) を返し、それ以外の場合は false (0) を返します。この場合、おそらく単純な等値演算子の方が適切です。

Title="blah blah 1.5"
于 2009-02-17T11:26:39.150 に答える