oracle面试会问到的基础
程序员文章站
2022-03-31 16:15:27
...
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 decode(sign(变量1-变量2),-1,变量1,变量2) from dual; --取较小值
sign()函数根据某个值是0、正数还是负数,分别返回0、1、-1
取最大值
select greatest('3', '5') from dual