oracle中DECIMAL(m,n)在MySql使用方法



  1. ORACLE:
  2.  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
  3.  DECIMAL(20,2)) as conversion_ratio
  4.  
  5.   MYSQL: 
  6.   DECIMAL(ROUND(COALESCE(CAST(sum(deal_num) AS DOUBLE), 0)/(CASE WHEN sum(intention_num)=0 THEN 1 ELSE sum(intention_num)
  7.   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,则在小数点左侧进行四舍五入。
如果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()函数
  1. 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(没意义)。

你可能感兴趣的:(SQL)