问题描述:MySQL求和SUM()结果为整数类型在kettle结果显示为小数
解决方案:
CAST函数用于将值从一种数据类型转换为表达式中指定的另一种数据类型
语法
CAST(value AS datatype) AS关键字用于分隔两个参数,在AS之前的是要处理的数据,在AS之后的是要转换的数据类型
参数说明
value: 要转换的值
datatype: 要转换成的数据类型
datatype参数取值
值 描述 DATE 将value转换成'YYYY-MM-DD'格式 DATETIME 将value转换成'YYYY-MM-DD HH:MM:SS'格式 TIME 将value转换成'HH:MM:SS'格式 CHAR 将value转换成CHAR(固定长度的字符串)格式 SIGNED 将value转换成INT(有符号的整数)格式 UNSIGNED 将value转换成INT(无符号的整数)格式 DECIMAL 将value转换成FLOAT(浮点数)格式 BINARY 将value转换成二进制格式
select department , count(*) li_an_num, sum(if(state='已完成',1,0)) ban_jie_num, /这一行在kettle显示小数/ cast(sum(if(state='已完成',1,0)) as SIGNED) ban_jie_num1, /这一行显示整数/ event_classify from dwd_sjgl_12345_jsc_front where state='已完成' group by department ,event_classify