最近、データベースのすべてのntextカラムタイプをnvarchar(max)に変換しました。 その後、関連するビューに対してEXECUTE sp_refreshviewを実行しました。私はビュー上(クラシックASPから)次のパラメータクエリを実行すると、nvarchar(max)のパラメータクエリがntextエラーとして表示される
はまだ、私はエラーを取得する: クエリ:
SELECT CARID
FROM vwCAR
WHERE (1=1)
AND (Description LIKE '%'+ ? + '%')
ORDER BY CARID;
Error: The data types nvarchar and ntext are incompatible in the add operator (yet there are no longer any ntext columns!)
を私が実行している場合しかし、私はこのエラーを取得しないでください同じクエリを直接SQL Serverなしで? クエリ:としてパラメータ
SELECT CARID
FROM vwCAR
WHERE (1=1)
AND (Description LIKE '%test%')
ORDER BY CARID;
私は、クエリに変換し使用してみましたが、同じ結果でした: クエリ:
SELECT CARID
FROM vwCAR
WHERE (1=1)
AND (CONVERT(NVARCHAR(MAX), Description) LIKE N'%'+ ? + '%')
ORDER BY CARID;
私が間違って何をやっているの?
追加情報: タイプを(MAX)ではなくnVarChar(4000)に変更しましたが、すべて正常に動作します。これは回避策ですが、問題を解決しました。
これからは、nVarChar(Max)タイプの列でLIKE条件を使用してパラメータクエリを実行することは可能でしょうか?
は
解決策を使用して回答を追加できます。 – McNets