Sco*_*tis 0 sql sql-server-2008
我需要做这样的事情,但总是失败'错误将数据类型varchar转换为int':
DECLARE @intParam INT
DECLARE @ColName VARCHAR(64)
SET @ColName='intcolumn'
SET @intParam = SELECT @ColName FROM myTable
Run Code Online (Sandbox Code Playgroud)
我如何完成这样的事情?我可以看到问题是SELECT语句只是将列名作为字符串返回,但我不知道如何解决这个问题.我正在使用SQL Server 2008R2.
你需要使用动态sql:
DECLARE @intParam INT
DECLARE @ColName VARCHAR(64)
SET @ColName='intcolumn'
DECLARE @SQL NVARCHAR(1000)
SET @SQL = 'SELECT @intParam_out = ' + @ColName + ' FROM myTable'
exec sp_executesql @SQL, N'@intParam_out int OUTPUT', @intParam_out = @intParam OUTPUT
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6330 次 |
| 最近记录: |