金融其它商业智能

大家帮忙看看这个语句哪里出问题?

casewhen [report].[XXCARD_STAT_2].[TYPE]='5' then cast(_round([report].[XXCARD_STAT_2].[发卡量]*100,2),varchar(10))+'%'else [report].[XXCARD_STAT_2].[发卡量]endcognos报错:语句中存在不兼容数据类型发卡量字段中存的是带小数数字...显示全部
case
when [report].[XXCARD_STAT_2].[TYPE]='5' then
cast(_round([report].[XXCARD_STAT_2].[发卡量]*100,2),varchar(10))+'%'
else [report].[XXCARD_STAT_2].[发卡量]
end

cognos报错:语句中存在不兼容数据类型
发卡量字段中存的是带小数数字收起
参与11

查看其它 9 个回答jeongspear的回答

jeongspearjeongspear其它华腾软件
我试过了~~
case
when [report].[XXCARD_STAT_2].[TYPE]='5' then
cast([report].[XXCARD_STAT_2].[发卡量]*100 as decimal(10,2))
else [report].[XXCARD_STAT_2].[发卡量]
end

上面没有语法错误,再加一层cast 就报错:语句中存在不兼容数据类型(代码如下)

case
when [report].[XXCARD_STAT_2].[TYPE]='5' then
cast(cast([report].[XXCARD_STAT_2].[发卡量]*100 as decimal(10,2)) as varchar(20))
else [report].[XXCARD_STAT_2].[发卡量]
end
金融其它 · 2011-05-11
浏览635

回答者

jeongspear
其它华腾软件

jeongspear 最近回答过的问题

回答状态

  • 发布时间:2011-05-11
  • 关注会员:1 人
  • 回答浏览:635
  • X社区推广