sqlserver怎么动态拼接列并对列求和
时间: 2023-08-13 18:03:51 浏览: 218
sql 动态拼接
4星 · 用户满意度95%
你可以使用动态SQL语句来拼接列名,并使用SUM函数来求和。
下面是一个示例代码,假设你需要动态拼接列名并对列求和,表名为Table1,列名为Column1、Column2、Column3:
```
DECLARE @sql NVARCHAR(MAX)
DECLARE @col NVARCHAR(MAX)
SET @col = ''
-- 拼接列名
SELECT @col = @col + QUOTENAME(name) + ','
FROM sys.columns
WHERE object_id = OBJECT_ID('Table1')
AND name LIKE 'Column%'
-- 移除最后一个逗号
SET @col = LEFT(@col, LEN(@col) - 1)
-- 动态拼接SQL语句并求和
SET @sql = 'SELECT SUM(' + @col + ') AS Total FROM Table1'
EXEC sp_executesql @sql
```
该代码会动态生成一个SQL语句,拼接列名并求和,最终返回一个名为Total的列,该列为所有列的和。
阅读全文