关于#postgresql#的知识点:postgresql concat与||的区别

select 'a' || null || 'c' 为null
select concat('a',NULL,'c') 为ac

为什么是这个结果呢

在大部分的数据库中,null值是不参与计算的,如果计算中有null则输出null

img


mssql

img

但使用函数、方法等方式,可以有效的使null值的内容参与到计算中,这个基本上是所有数据库都一致的
mysql

建议用coalesce对null值进行处理,例如coalesce(字段名,''),一般都不在数据库里面设置空值,太多不确定因素