何らかの理由で、SQLから動的に値を取得できないようです。
declare @SQL nvarchar(max)
declare @FieldName nvarchar(255)
declare @FieldValue nvarchar(max)
select @SQL = 'SELECT TOP 1 ' + @fieldname
+' FROM MyTable WHERE CM_CASE_YEAR = ' + LEFT(@ClaimNumber, 2)
+' AND CM_CASE_NUMBER = ' + RIGHT(@ClaimNumber, 6)
exec sp_executesql @sql, @FieldValue OUTPUT
select @FieldName + ' - ' + @FieldValue
@SQL
別のウィンドウでクエリを実行すると、1つの値を持つ1つの列が表示されます。
しかし、残念ながら、これを試してみると、@FieldValueは常にNULLに戻ります。
彼らがsp_executesqlを教えた日に何かを逃しましたか?明らかに!しかし、何ですか?