isnull与ifnull适用数据库
阅读原文时间:2023年07月08日阅读:1

根据业务流程去查询某个数据表的某个字段的最大值:

直接用的select max(code) from base_area;

大多数情况没有问题,有个特殊点:如果数据表里边没有数据,且返回类型时int时,就会报类型转换错误,因为null没法转成int,所以就用到了isnull函数进行转换。

修改后:

select isnull(max(code),0) from base_area;

意思是,当没查到数据返回null时,返回0,这样就不报错了。

但这是在sqlserver数据库中用的函数。

在写同样逻辑,在mysql中时报错了,不存在isnull函数,百度一波,要使用ifnull函数来使用,换完之后就可以了,和之前的效果相同。

mysql:select ifnull(max(code),0) from base_area;

如果是oracle数据库,就不同了,可以使用以下函数实现相同效果

NVL(Expr1,Expr2)如果Expr1为NULL,返回Expr2的值,否则返回Expr1的值

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器

你可能感兴趣的文章