读书人

Syntax error converting the varchar

发布时间: 2012-03-30 17:32:10 作者: rapoo

Syntax error converting the varchar value '' 'to a column of data type int
declare @sql1 nvarchar(4000)
set @sql1 = 'select a.[owner] '
select @sql1 = @sql1 + ' , sum(case a.week when ''' + week + ''' then a.productivity_target else 0 end)[' + week + '],sum(case a.week when ''' + week + ''' then a.productivity_contribution else 0 end) [' + week + ']'
from (select distinct week from pfad_productivity a) as t
set @sql1 = @sql1 + ' from pfad_productivity agroup by a.[owner] '
exec(@sql1)

此上是一存程,其中week字段是整型。
在行出:Syntax error converting the varchar value '' then a.productivity_target else 0 end)['to a column of data type int
但是week字符字符型,就不出。但是我必要week整型,我怎解,。

[解决办法]

SQL code
declare @sql1 nvarchar(4000)set @sql1 = 'select a.[owner] 'select @sql1 = @sql1 + ' , sum(case a.week when ''' +ltrim(week)+ ''' then a.productivity_target else 0 end)[' + ltrim(week)+ '],sum(case a.week when ''' + ltrim(week)+ ''' then a.productivity_contribution else 0 end) [' + ltrim(week)+ ']'from (select distinct week from pfad_productivity a) as tset @sql1 = @sql1 + ' from pfad_productivity agroup by a.[owner] 'exec(@sql1) 

读书人网 >SQL Server

热点推荐