34,590
社区成员
发帖
与我相关
我的任务
分享
DECLARE @exp varchar(max)
SET @exp = 'S001+S002+S010*2-S078+(S092/2)+S188*0.5'
;WITH table1(变量名,变量值) AS (
SELECT 变量名,变量值
FROM 中间表
WHERE 机构编号='LN001'
AND 年份=2013
AND 月份=10
)
SELECT @exp = REPLACE(@exp,变量名,Convert(varchar(11),变量值))
FROM table1
PRINT @exp
EXEC('SELECT '+@exp+' AS value')
DECLARE @exp varchar(max)
SET @exp = 'S001+S002'
;WITH table1(变量名,变量值) AS (
SELECT 'S001',1680 UNION ALL
SELECT 'S002',788
)
SELECT @exp = REPLACE(@exp,变量名,Convert(varchar(11),变量值))
FROM table1
PRINT @exp
EXEC('SELECT '+@exp+' AS value')
1680+788
value
-----------
2468