SQL 语法里的逻辑判断
在日常代码编程中,我们会经常用到if-else进行逻辑判断,在SQL中是否也能进行逻辑判断呢,答案是肯定的!在SQL语句中有以下三个函数可以进行逻辑判断。
1. decode 函数:
语法
decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值)
--缺省值可以省略
函数含义
表示如果 条件 等于 值1 时,DECODE函数的结果 返回值1 ,...,如果不等于任何一个条件值,则返回缺省值。
即:decode(value, if1, then1, if2,then2, if3,then3, . . . else )
Value 代表某个表的任何类型的任意列或一个通过计算所得的任何结果。如果value的值为if1,decode函数的结果是then1;如果value等于if2,decode函数结果是then2;等等。事实上,可以给出多个if/then 配对。如果value结果不等于给出的任何配对时,decode结果就返回else。需要注意的是,这里的if、then及else 都可以是函数或计算表达式。
【注意】:decode 函数 ,只能在select 语句用。DECODE函数是ORACLE PL/SQL特有的功能强大的函数之一,其他数据库厂商的SQL实现还没有此功能。
2. nvl(EXPR1,EXPR2)函数
若EXPR1是NULL,则返回EXPR2,否则返回EXPR1.
3. sign(value)函数
根据value值是0、正数还是负数,分别返回0、1、-1,
作者:快乐随行
https://www.cnblogs.com/jddreams/p/14277836.html
著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明原文作者及出处。