关键字 'as' 附近有语法错误。sql

select sum(sis_firstcount),sum(SIS_DNum),sum(nonum),sum(round(case(qlv as numeric),2)),sum(money) from vw_qlv_sum

as 前需要对数据进行处理,不能直接qlv as numeric

可以sum(qlv)as numeric追问

改了,操作数数据类型 varchar 对于 sum 运算符无效。
qlv里存在一些百分比数我想对它们进行统计

追答

qlv 里面存的数是这种形式么’85%‘ ??
要是这种形式,可以这么写:
select sum(cast(substr(qlv,0,(instr(qlv,'%')-1)) as numeric)/100) as aa from vw_qlv_sum

追问

substr,instr不怎么好用 答qlv 里面存的数是这种形式么’85%‘是的

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-03-06
cast 写成case了吧追问

改了,但是报从数据类型 varchar 转换为 numeric 时出错。

相似回答