gpt4 book ai didi

tsql - 列名作为参数并在 T Sql 中对其求和

转载 作者:行者123 更新时间:2023-12-04 00:46:53 24 4
gpt4 key购买 nike

我的要求是将 Columnname 作为参数发送到存储过程并对该列执行 SUM。

我已经编写了一个小的存储过程来接受列名作为参数并对其求和,但是我遇到了一个错误。

CREATE PROCEDURE dbo.testCol
-- Add the parameters for the stored procedure here
@type as nvarchar(20),
@beginDate as smalldatetime,
@endDate as smalldatetime
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;

-- Insert statements for procedure here


select dbo.mytable.date, sum(@type) as quantity
from dbo.mytable
where dbo.mytable.Date between @beginDate AND @endDate
group by dbo.mytable.date,dbo.mytable.day
order by dbo.mytable.date
END
GO

我在执行此存储过程时遇到错误,如 “操作数数据类型 nvarchar 对求和运算符无效。”

非常感谢任何帮助。

谢谢

最佳答案

您需要使用动态 sql 来获取要在查询中以这种方式使用的传递的列名。

使用sp_executesql 并在字符串中包含列名,并将@beginDate 和@endDate 作为参数传递。

关于tsql - 列名作为参数并在 T Sql 中对其求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7870102/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com