PostgreSQL教程

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如果查询出的数据为空,则设为0的方法(PGSQL实现判断一个空值字段,并将NULL值修改为其它值)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!