天天看点

oracle面试会问到的基础

  1.请回答decode和sign是什么函数

  decode和sign是比较容易误解的两个函数。

           decode是否满足条件的意思,就是if ,else的oracle版本,比如decode(a,b,c,d,e),如果a等于b,那么值为c,(else if)如果a等于c那么返回d,(else)如果都不满足,那么等于e.

         sign咋一看不是数学中正弦吗,其实不是!这个是判断一个数是否等于0,如果等于0,那么返回0,如果大于0,返回1,如果小于0,那么返回-1.如

比较大小

select decode(sign(变量1-变量2),-1,变量1,变量2) from dual; --取较小值

sign()函数根据某个值是0、正数还是负数,分别返回0、1、-1

取最大值

select greatest('3', '5') from dual