coalesce(x,y,z,..)
返回输入参数中的第一个非空值,如果所有输入参数均为NULL,则返回NULL
——————————————————————————————————
if(boolean表达式, 真时返回值, 假或null时候的返回值)
根据一个表达式的结果为TRUE、 FALSE、NULL,来返回相应的结果值。返回类型与输入参数类型相同。
_________________________________________
(5)isnull(X, Y) 等价与ifnull(X,Y)如果表达式的结果非空,则返回X取值。如果表达式的结果为NULL,则返回第二参数Y值。与 Oracle中的NVL(X,Y)和MySQL中的ifnull(X,Y)用法相同
特殊语句
(7)nullif(expr, expr2)这个函数表示如果两个表达式相等,则返回NULL。如果两个表达式不相等,则返回第一表达式的值。两个表达式的数据类型必须保持兼容。另外,第一个表达式不能为NULL,如果它为NUL,将永远不会与第二个表达式进行匹配。
该函数通常被使用在除法表达式中来防止被除数为零的情况。例如select 1.0 /nullif(expr,0) as rate from table_xxxxx
(8) nullifzero(numeric expr)如果表达式为0,则返回NULL;如果表达式为非零,则返回表达式本身。返回类型与原始的返回值类型相同。返回值若是整型会被提升为 BIGINT型,若是 FLOAT型会被提升为 DOUBLE型。如果对应的列不允许像BIGINT或者 DOUBLE这样的高精度的类型,需要使用 CAST()函数进行强制类型转换。
————————————————————————————————————————
NVL(X,Y) 当X IS NOT NULL则返回X 取值,否则返回Y取值
——————————————————————————————————————————
zeroifnull(numeric expr如果表达式为NULL,则返回0,如果表达式为非NULL,则返回表达式本身