を使おうとしていますFREETEXT
。@name フィールドには null が含まれることがよくありますが、これはプログラムのエラーではありません。これは、他の検索アプローチが使用されていることを意味します。
もともと持っていた
DECLARE @Name varchar(50) = ... -- some value which many be NULL or blank
SELECT ID
FROM dbo.Data WITH (NOLOCK)
WHERE FREETEXT(*, @Name)
私は試した
DECLARE @Name varchar(50) = ... -- some value which many be NULL or blank
SELECT ID
FROM dbo.Data WITH (NOLOCK)
WHERE @Name IS NOT NULL AND FREETEXT(*, @Name)
しかし、私はまだ得る
メッセージ 7645、レベル 15、状態 2、行 3 Null または空の全文述語。
これを回避するための良いアプローチは何ですか?
追記
SELECT ID
FROM dbo.data WITH (NOLOCK)
WHERE FREETEXT(*, ' ')
また、スローとエラー