如何评估字符表达式以解析SELECT语句中将返回列行值的有效列名?例如,有效列名= Customer_1 =='Customer _'+'1'
答案 0 :(得分:0)
如何评估字符表达式以解析SELECT语句中将返回列行值的有效列名?例如,有效列名= Customer_1 =='Customer _'+'1'
如果你需要这样做,你可能做错了,但是如果你必须:将列名称构建为行然后转动。
答案 1 :(得分:0)
您需要使用动态SQL。一个例子
DECLARE @DynSQL nvarchar(max)
DECLARE @Suffix int = 1
SET @DynSQL = N'SELECT Customer_' + CAST(@Suffix as nvarchar(10)) +
N' FROM YourTable WHERE foo = @foo'
EXEC sp_executesql @DynSQL, N'@foo int', @foo=1
与动态SQL一样,如果用户提供进程的任何输入,则需要考虑SQL注入。