SSRS レポートによって呼び出された、以前に動作していたストアド プロシージャでエラーが発生しました。7000+ NVARCHAR(MAX) 文字列と組み合わせて、ストアド プロシージャによって呼び出されたスカラー関数の LIKE ステートメントまで追跡しました。 . それは次のようなものです:
メッセージ 8152、レベル 16、状態 10、行 14 文字列型やバイナリは省略されます。
次のコードで再現できます。
DECLARE @name1 NVARCHAR(MAX) = ''
DECLARE @name2 NVARCHAR(MAX) = ''
DECLARE @count INT = 4001
WHILE @count > 0
BEGIN
SET @name1 = @name1 + 'a'
SET @name2 = @name2 + 'a'
SET @count = @count - 1
END
SELECT LEN(@name1)
IF @name1 LIKE @name2
PRINT 'OK'
どうしたんだ?とにかくこの制限の周りにありますか、それとも正当な理由がありますか? ありがとう。