原创

mysql数据库 isnull,ifnull,nullif的区别和用法

温馨提示:
本文最后更新于 2017年05月20日,已超过 2,522 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我
ISNULL(expr)
如果expr的值为null,则返回1,如果不为null,则返回0;
例如,查找一个订单的状态,如果状态为null则返回1,不为空则返回0
select isnull(status) from orders;
查出的数据

仙士可博客

IFNULL(expr1,expr2)
如果expr1不为NULL,则返回expr1; 否则返回expr2。
IFNULL()的返回值是数字或是字符串.
例如查询所有商品,把价格为null的改为0;
select ifnull(goods_price,0) from goods ;

仙士可博客

则返回所有商品价格,如果有null的则返回0;
NULLIF(expr1,expr2)
如果expr1和expr2相等,则返回null,否则返回expr1的值
例如
查询商品的促销价格和市场价格是否相等,不相等返回促销价格,相等则返回null
select nullif(goods_price,goods_marketprice) from goods;
当然,一般情况下相等也不返回null,这只是个实例;
正文到此结束
本文目录