根据业务流程去查询某个数据表的某个字段的最大值:
直接用的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的值
手机扫一扫
移动阅读更方便
你可能感兴趣的文章