无论出于何种原因,我似乎都无法从 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
在另一个窗口中运行查询时,它会显示一个具有一个值的列。
但是,不幸的是,当我尝试这个时,@FieldValue 总是返回 NULL。
他们教 sp_executesql 的那天我错过了什么吗?明显地!但是什么?