1、null 表示缺失的值, '' " "表示空值
null 参与的表达式运算都返回null
使用is null 判断是null
is not null 判断非null
2、nullif(value1, value2) 如果value1 == value2 返回null
3、coalesce(arg1, arg2, ...) 返回第一个 不为null的值
所以可以使用如下语句,实现将table中filed为空的记录替换为指定值
1
|
update table set filed = COALESCE ( NULLIF (trim( "filed" ), '' ), 'value' ) |
1
|
COALESCE ( NULLIF (to_char(T1.online_tm, 'yyyy-MM-dd HH24:MI:SS' ), '1900-01-01 00:00:00' ), ' ' ) |
补充:postgrepsql 判断字段为空返回0
我就废话不多说了,大家还是直接看代码吧~
1
|
select *, COALESCE (p_id,0) is_pid from sys_unit where 1=1 |
以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。如有错误或未考虑完全的地方,望不吝赐教。
原文链接:https://www.jianshu.com/p/bf0101f06535