create procedure spwork
@InParam nvarchar(20)
as
begin tran
declare @systime datetime,
@strdate nvarchar(10),
@strbe nvarchar(10)
select @systime=getdate(),
@strdate=datename(yy,@systime)+'/'+datename(mm,@systime)+'/'+datename(dd,@systime)declare @sql nvarchar(1000)
set @sql=N'select @strbe='+@InParam+N' from works where CTime='''+@strdate+N''''exec sp_executesql @sql,N'@strbe nvarchar(10) output',@strbe output........
@InParam nvarchar(20)
as
begin tran
declare @systime datetime,
@strdate nvarchar(10),
@strbe nvarchar(10)
select @systime=getdate(),
@strdate=datename(yy,@systime)+'/'+datename(mm,@systime)+'/'+datename(dd,@systime)declare @sql nvarchar(1000)
set @sql=N'select @strbe='+@InParam+N' from works where CTime='''+@strdate+N''''exec sp_executesql @sql,N'@strbe nvarchar(10) output',@strbe output........
1.必须声明变量 '@strbe',可我申明了.
2.将 expression 转换为数据类型 nvarchar 时发生算术溢出错误。