同じ問題が発生しています。
Myテーブルには、DefinitionというNVARCHAR(MAX)フィールドが含まれています。データベースの現在の文字列は、長さが956文字です。
コードがデータを呼び出し、有効なデータが返されます。 [Stuff happens]。更新コマンドが作成され、WHERE句の定義フィールドが使用されます。ゼロ行が更新されます。
私はクエリを傍受し、定義がどこから除外されたときにUPDATEコマンドが実行されることに気づいた。
DBに直接アクセスすると、単純なSELECT定義のWHERE Id = [idが何であれ]を実行しました。行が返されます。
次に、最初の結果から定義をコピーし、クエリをWHERE Definition = '[...]'に変更し、何も返されません。
私は内側のselectがIdで定義を取得し、外側がinner selectの結果にINを持つようにクエリを変更しました。それは行を返します。
これは、テキスト(ASCII)とNVARCHAR(UNICODE)の値を比較すると「問題」が発生すると考えられます。
私はまだ答えを得ようとしています。
*コードまたは奇妙なWHERE句でクエリを作成しているという事実にはコメントしないでください。
あなたが 'SELECT '[' + yourColName + ']''を実行するとどうなりますか?たぶんあなたが最初に見ない特別な後続の特殊文字があります... –
データを追加してください – gbn