请教一下SQL Server中自定义函数的变量
createfunctiondbo.f_SumString(@求和条件nvarchar(10))returnsvarchar(1000)asbegindeclare@Su...
create function dbo.f_SumString(@求和条件 nvarchar(10)) returns varchar(1000)
as
begin
declare @SumString varchar(1000)
select @SumString = isnull(@SumString + ',' , '') + cast(用料编号 as nvarchar) from [dbo].[tb] where 编号 = @求和条件
return @SumString
end
go
--上面的“用料编号”可以设置成为变量吗?
表中三列:编号,用料编号,交货。
我需要同时对用料编号和交货都进行文本求和,可不想自定义两个函数,该怎么弄?
谢谢。 展开
as
begin
declare @SumString varchar(1000)
select @SumString = isnull(@SumString + ',' , '') + cast(用料编号 as nvarchar) from [dbo].[tb] where 编号 = @求和条件
return @SumString
end
go
--上面的“用料编号”可以设置成为变量吗?
表中三列:编号,用料编号,交货。
我需要同时对用料编号和交货都进行文本求和,可不想自定义两个函数,该怎么弄?
谢谢。 展开
展开全部
可以设成变量,不过要用到动态SQL,
先拼接sql 字符串,然后再用exec或sp_executesql来执行。
先拼接sql 字符串,然后再用exec或sp_executesql来执行。
追问
能否给个具体代码?
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐于2016-02-05
展开全部
SQL Server 中,函数只能使用简单的sql语句,逻辑控制语句,复杂一点的存储过程是不能调用的,在函数里也不能使用execute sp_executesql 或者execute 。
要不, 你就创建个 有 2个 OUTPUT 参数的存储过程 ?
要不, 你就创建个 有 2个 OUTPUT 参数的存储过程 ?
追问
只想用函数来实理,可以吗?
追答
create function dbo.f_SumString(@求和条件 nvarchar(10), @is用料编号 INT )
@SumString = isnull(@SumString + ',' , '') + cast( CASE WHEN @is用料编号 = 1 THEN 用料编号 ELSE 交货 END as nvarchar)
如果你只有 2列的话
可以用一个 @is用料编号 参数来做判断。
也就是 如果 @is用料编号 = 1, 那么 用料编号 否则 交货
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询