在 sql 服务器中映射动态列名称
Mapping dynamic column names in sql server
DECLARE @step VARCHAR(25) = '15';
DECLARE @COL VARCHAR(50) = step_col_@step;
UPDATE table_tblName SET @COL=<some value> WHERE <condition>
我有上面的查询,其中 @COL 应该是动态的,即 step_col_1、step_col_2、step_col_3......step_col_18。在 sql 服务器中没有 If-else 条件的情况下如何实现此目的?
试试下面的查询,
DECLARE @COL VARCHAR(50) = 'step_col_'+@step
像这样传递变量以形成动态sql查询
DECLARE @step VARCHAR(25) = '15';
DECLARE @COL VARCHAR(50) = 'step_col_'+@step
exec ('UPDATE table_tblName SET '+@COL+'=<some value> WHERE <condition>')
DECLARE @step VARCHAR(25) = '15';
DECLARE @COL VARCHAR(50) = 'step_col_'+@step;
DECLARE @String VARCHAR(500) = ''
SET @String = 'UPDATE table_tblName SET '''+@COL+''' = <some value> WHERE
<condition>'
EXEC (@String)
DECLARE @step VARCHAR(25) = '15';
DECLARE @COL VARCHAR(50)
SET @COL = 'step_col'+@step;
UPDATE table_tblName SET @COL=<some value> WHERE <condition>
DECLARE @step VARCHAR(25) = '15';
DECLARE @COL VARCHAR(50) = step_col_@step;
UPDATE table_tblName SET @COL=<some value> WHERE <condition>
我有上面的查询,其中 @COL 应该是动态的,即 step_col_1、step_col_2、step_col_3......step_col_18。在 sql 服务器中没有 If-else 条件的情况下如何实现此目的?
试试下面的查询,
DECLARE @COL VARCHAR(50) = 'step_col_'+@step
像这样传递变量以形成动态sql查询
DECLARE @step VARCHAR(25) = '15';
DECLARE @COL VARCHAR(50) = 'step_col_'+@step
exec ('UPDATE table_tblName SET '+@COL+'=<some value> WHERE <condition>')
DECLARE @step VARCHAR(25) = '15';
DECLARE @COL VARCHAR(50) = 'step_col_'+@step;
DECLARE @String VARCHAR(500) = ''
SET @String = 'UPDATE table_tblName SET '''+@COL+''' = <some value> WHERE
<condition>'
EXEC (@String)
DECLARE @step VARCHAR(25) = '15';
DECLARE @COL VARCHAR(50)
SET @COL = 'step_col'+@step;
UPDATE table_tblName SET @COL=<some value> WHERE <condition>