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