数据库
首页 > 数据库> > postgresql如果查询出的数据为空,则设为0的方法(PGSQL实现判断一个空值字段,并将NULL值修改为其它值)

postgresql如果查询出的数据为空,则设为0的方法(PGSQL实现判断一个空值字段,并将NULL值修改为其它值)

作者:互联网

使用COALESCE函数

函数详解:

COALESCE()函数
主流数据库系统都支持COALESCE()函数,这个函数主要用来进行空值处理,其参数格式如下: 
COALESCE ( expression,value1,value2……,valuen) 
COALESCE()函数的第一个参数expression为待检测的表达式,而其后的参数个数不定。
COALESCE()函数将会返回包括expression在内的所有参数中的第一个非空表达式。

如果expression不为空值则返回expression;否则判断value1是否是空值,

如果value1不为空值则返回value1;否则判断value2是否是空值,

如果value2不为空值则返回value2;……以此类推,
如果所有的表达式都为空值,则返回NULL。

select COALESCE(表.字段, 0) as 别名from 表 别名

当在使用过程中出现报错,可能是字段不匹配,看一下字段是什么类型的,字段类型转换错误,例如下方报错信息

注意看图片中的  COALESCE(a.floor_num, 0) as floor_num

检查后发现时字段类型转义错误,floor_num是varchar类型,需要加上引号,修改后变为COALESCE(a.floor_num, ‘0’) as floor_num

再次查询就可以了。

在使用pgsql时,想要取到某些字段不为空或者为空的数据,可以用以下方法

如果字段是类型是字符串,用 id=''可以;如果是int型则用 ISNULL

如果需要将空值设置为其它值:

 

标签:空值,postgresql,函数,floor,PGSQL,COALESCE,num,为空,expression
来源: https://www.cnblogs.com/javaxubo/p/15854439.html