mysql中的 ifnull() 函数与oracle中的nvl()函数

mysql函数

在查询数据的时候,我们往往会需要对一些空值进行处理,下面几个函数,则可以轻松的完成你的操作。

mysql中的 ifnull() 函数与 if()函数 :

ifnull(expr1,expr2) 

如果expr1不是null,ifnull()返回expr1,否则它返回expr2。

if(expr1,expr2,expr3)

如果expr1不是null, if()返回expr2,  否则 if() 返回expr3。

如图:

mysql中的 ifnull() 函数与oracle中的nvl()函数_第1张图片

 

oracle函数

1、NVL函数

NVL(a1,a2) 语法:如果a1为null,返回a2,否则返回a1。

NVL2(a1,a2,a3) 语法:如果a1不为null,返回a2;a1为null,返回a3。

2、DECODE函数

DECODE(value,if1,then1,if2,then2,if3,then3,...,else)  

语法:表示如果value 等于if1时,DECODE函数的结果返回then1,...,如果不等于任何一个if值,则返回else。

3、 EXTRACT函数

EXTRACT( fmt , from , date ) 语法:在date时间中获取fmt格式类型的时间。

select extract(year from sysdate) year from dual;  

select extract(month from sysdate) month from dual;  

select extract(day from systimestamp) day from dual;  

select extract(hour from systimestamp) hour from dual;

select extract(minute from systimestamp) minute from dual;  

select extract(second from systimestamp) second from dual;  

其中,获取year  month  day 时,可以使用date或timestamp类型的值;获取hour  minut  second时,必须使用timestamp类型的值。

你可能感兴趣的:(mysql)