与此相关PostgreSQL中是否有一种方法可以返回所有非null值,即使其中一个值为null?-它的解决方案允许我返回null值,但它将其返回到同一个键中,而不是指定的键中。
特别是对于这个例子,所以我想将其插入为A=valueOfA, B=valueOfB
而不是A=valueOfA,valueOfB
。
select concat_ws(",", A, B, C) into D;
// if C is null, it will return A=valueOfA,valueOfB
谢谢!:(
简单地生成JSON值可能更容易:
jsonb_build_object('a', a, 'b', b, 'c', c)
例如,如果列a
为空,则这将包括"a": null
。如果要删除这些,请使用jsonb_strip_nulls
:
jsonb_strip_nulls(jsonb_build_object('a', a, 'b', b, 'c', c))