mysql中的IFNULL函数与oracle中的NVL函数
在查询数据的时候,我们往往会需要对一些空值进行处理,下面几个函数,则可以轻松的完成你的操作。
Mysql中的 ifnull() 函数与if()函数 :
IFNULL(expr1,expr2)
如果expr1不是NULL,IFNULL()返回expr1,否则它返回expr2。
IF(expr1,expr2,expr3)
如果expr1不是NULL, IFNULL()返回expr2, 否则 IFNULL() 返回expr3。
如图:
oracle中的常用函数
NVL函数
NVL(a1,a2) 语法:如果a1为null,返回a2,否则返回a1。
NVL2(a1,a2,a3) 语法:如果a1不为null,返回a2;a1为null,返回a3。
DECODE函数
DECODE(value,if1,then1,if2,then2,if3,then3,...,else)
语法:表示如果value 等于if1时,DECODE函数的结果返回then1,...,如果不等于任何一个if值,则返回else。
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类型的值。