- ORACLE:
- CAST((ROUND(COALESCE(CAST(sum(deal_num) AS UNSIGNED), 0)/(CASE WHEN sum(intention_num)=0 THEN 1 ELSE sum(intention_num) END),4)*100) AS
- DECIMAL(20,2)) as conversion_ratio
- MYSQL:
- DECIMAL(ROUND(COALESCE(CAST(sum(deal_num) AS DOUBLE), 0)/(CASE WHEN sum(intention_num)=0 THEN 1 ELSE sum(intention_num)
- END),4)*100,20,2) as conversion_ratio
函数讲解时间:
CAST (expression AS data_type)
CAST 函数用于将某种数据类型的表达式显式转换为另一种数据类型
expression 是表达式
AS 是分隔符
data_type 是需要转换的类型
round(number,digits)
number,要四舍五入的数,digits是要小数点后保留的位数
如果 digits 大于 0,则四舍五入到指定的小数位。
如果 digits 等于 0,则四舍五入到最接近的整数。
如果 digits 小于 0,则在小数点左侧进行四舍五入。
如果 digits 等于 0,则四舍五入到最接近的整数。
如果 digits 小于 0,则在小数点左侧进行四舍五入。
如果round函数只有参数number,等同于digits 等于 0。
返回值:
四舍五入后的值
举例:
round(3.1415926,2)=3.14;
round(3.1415926,3)=3.142;
select round(193,-2)from dual; 200
select round(193,-1)from dual;190
select round(193,-3)from dual;0
coalesce()函数
在oracle中可以使用 case when....then....else......end(比较强悍,case when 后可以跟表达式)。
如果a==null,则选择b;如果b==null,则选择c;如果a!=null,则选择a;如果a b c 都为null ,则返回为null(没意义)。
coalesce()函数
- select coalesce(a,b,c);
在oracle中可以使用 case when....then....else......end(比较强悍,case when 后可以跟表达式)。
如果a==null,则选择b;如果b==null,则选择c;如果a!=null,则选择a;如果a b c 都为null ,则返回为null(没意义)。