ContainsTable クエリが機能しません - 助けてください:)
-
13-09-2019 - |
質問
フルテキストカタログをセットアップしました。これには、19 項目を持つ 117 個の一意のキー数があります。テーブルには 19 行しかありません。
このテーブルには、ClientGuid という NVARCHAR(50) フィールドがあります。これは、最後に奇妙なテキストが含まれるガイドです。
例えば..
- 8b6ef4a504dd1a57f079180e7f6eb4a0(-)
- 8b6ef4a504dd1a57f079180e7f6eb4a0(OK)
(いいえ、そのテキスト フィールド データは私が定義したものではありません。サードパーティ API から取得しています。
とにかく、これは私のSQLとそれに対して実行するクエリです。クエリを実行すると、返される結果はゼロです:(
ALTER FUNCTION [dbo].[Foo_HiJonSkeet]
(
@ClientGuid NVARCHAR(50)
)
RETURNS TABLE
AS
RETURN
(
SELECT KEY_TBL.[Key] as LogEntryId,
KEY_TBL.RANK as Relevance
FROM CONTAINSTABLE(LogEntries, ClientGuid, @ClientGuid) AS KEY_TBL
)
SELECT * FROM Foo_HiJonSkeet('8b')
助言がありますか?サーバーはSQL Server 2008です。
解決
あなたは次のような構成を試すことができます:
SELECT * FROM Foo_HiJonSkeet('"8b*"')
元の検索語の後に二重引用符とアスタリスクを追加します。それは動作するはずです。
しかし、すべての検索は、あなたが上記の投稿した例のようになります場合場合には、私はあなたがフルテキスト検索を使用するのではなく、LIKE
文を使用することをお勧めします。
所属していません StackOverflow